I am facing a curious error with VS15 (2017). It is a cmake project for c++ application.
The fixup_bundle is not working anymore and i don't know how to investigate the issue.
I am expecting the fixup_bundle to copy the necessary dll (from linked projects dirs) to the final bin folder.
Build succeeded.
[0/1] Install the project...
-- Install configuration: "Debug"
-- fixup_bundle
-- app='C:/Users/kat/CMakeBuilds/acb04e27-073b-0533-8428-dc0a45a40673/build/x64-Debug/bin/comp_service.exe'
-- libs=''
-- dirs='D:/DEV/_cpp/conan/p_lib/0.2.0/pxd/stable/package/6ee38d1eb1997983ad3a4abc75bb584cb379895f/bin;D:/DEV/_cpp/conan/p_legacy_lib/0.2.0/pxd/stable/package/3181232a4bdc0bd2668dc369a762dde5242d17f4/bin'
-- ignoreItems=''
-- fixup_bundle: preparing...
-- warning: could not find 'objdump' - cannot analyze prerequisites...
-- warning: could not find 'objdump' - cannot analyze prerequisites...
-- fixup_bundle: copying...
-- 1/4: *NOT* copying 'C:/Users/kat/CMakeBuilds/acb04e27-073b-0533-8428-dc0a45a40673/build/x64-Debug/bin/comp_service.exe'
-- 2/4: *NOT* copying 'C:/Userskat/CMakeBuilds/acb04e27-073b-0533-8428-dc0a45a40673/build/x64-Debug/bin/ut_comp_service.exe'
-- fixup_bundle: fixing...
-- 3/4: fix-up not required on this platform 'C:/Users/kat/CMakeBuilds/acb04e27-073b-0533-8428-dc0a45a40673/build/x64-Debug/bin/comp_service.exe'
-- 4/4: fix-up not required on this platform 'C:/Users/kat/CMakeBuilds/acb04e27-073b-0533-8428-dc0a45a40673/build/x64-Debug/bin/ut_comp_service.exe'
-- fixup_bundle: cleaning up...
-- fixup_bundle: verifying...
Any hints ?
Thanks for your help.
K.
Related
I am trying to integrate the Clang-Tidy static analysis tool into my build system.
I am getting a few issues with my setup.
Step cmake -DCMAKE_EXPORT_COMPILE_COMMANDS=ON .. is not generating compile_commands.json file.
Hence, clang-tidy is giving below error.
>cmake --build . result
Could not auto-detect compilation database from directory "C:/dev/my-project/build/compile_commands.json"
No compilation database found in C:\dev\my-project\build\compile_commands.json or any parent directory
fixed-compilation-database: Error while opening fixed database: no such file or directory
json-compilation-database: Error while opening JSON database: no such file or directory
Running without flags.
Error while processing C:\dev\my-project\src\.
CUSTOMBUILD : error : unable to handle compilation, expected exactly one compiler job in '' [clang-diagnostic-error] [C:\dev\my-project\build\analyze_clang_tidy.vcxproj]
Suppressed 1 warnings (1 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
Clang-tidy.cmake file
set(CLANG_TIDY_CHECKS "-checks='${CLANG_TIDY_CHECKS}'")
add_custom_target(analyze_clang_tidy ALL
COMMAND ${CLANG_TIDY}
-p ${CMAKE_BINARY_DIR}/compile_commands.json
${CLANG_TIDY_CHECKS}
-header-filter='.*'
${CMAKE_CURRENT_SOURCE_DIR}/src/
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
COMMENT "Static code analysis with Clang-Tidy"
)
Please also find the configuration result
-- Building for: Visual Studio 14 2015
-- Selecting Windows SDK version to target Windows 10.0.17763.
-- The CXX compiler identification is MSVC 19.0.24215.1
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/cl.exe - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
Default build type: Debug
iD MSVC
-- ccache found and enabled
-- Configuring done
-- Generating done
-- Build files have been written to: C:/dev/my-project/build
I have a simple hello world int main() {...} in my ../src/ folder.
Please suggest to me how to generate the compile_commands.json file using CMake with VS code on windows.
Thank you!
See https://cmake.org/cmake/help/latest/variable/CMAKE_EXPORT_COMPILE_COMMANDS.html
Specifically this Note:
Note This option is implemented only by Makefile Generators and the Ninja. It is ignored on other generators.
Instead, you could write a python script which would generate that format for you, similar to this tool: https://github.com/nickdiego/compiledb
Or, actually, you don't need compile_commands.json. You can define CMAKE_<LANG>_CLANG_TIDY variable to trigger clang-tidy automatically: https://cmake.org/cmake/help/latest/variable/CMAKE_LANG_CLANG_TIDY.html
See how I did this for my project 1 2 3
Recently I start to learn about machine learning and download a library that work with it: GEGELATI for C++, in Visual Studio. Link to the library: https://github.com/gegelati/gegelati. I also download the example "stick-game" from the same page. I follow all the points to build the library and the example, but it throw an error: "can't find gegelati.h". When I saw that, I remember the advice the "cmake .." command gave me when I build the library in the project:
*CMake Warning at CMakeLists.txt:68 (find_package):
By not providing "FindGEGELATI.cmake" in CMAKE_MODULE_PATH this project has
asked CMake to find a package configuration file provided by "GEGELATI",
but CMake did not find one.
Could not find a package configuration file provided by "GEGELATI" with any
of the following names:
GEGELATIConfig.cmake
gegelati-config.cmake
Add the installation prefix of "GEGELATI" to CMAKE_PREFIX_PATH or set
"GEGELATI_DIR" to a directory containing one of the above files. If
"GEGELATI" provides a separate development package or SDK, be sure it has
been installed.*
If you need to know, this is the code in my CMakeList.txt: https://drive.google.com/file/d/1hDkC6coCWaQNb1Cv1QzrJbUMucjYE68y/view?usp=sharing
To solve the problem, I decided to copy the gegelati.h and GEGELATIConfig.cmake files (from the folder where I installed gegelati), but when I tried to compile again, the error E1696 showed up; it can't open gegelati.h.
Finally, I tried to put the gegelati files directly in the "stick-game/lib/gegelatilib" folder and
include its path in the "AdditionalIncludeDirectories". I put an image about this (sorry, it is in Spanish):
The new program output throw me 19 'LNK2019' errors and 8 'LNK2001' errors. Example of two:
Error LNK2019 símbolo externo "public: unsigned int __thiscall Instructions::Set::getNbInstructions(void)const " (?getNbInstructions#Set#Instructions##QBEIXZ) sin resolver al que se hace referencia en la función _main
Error LNK2001 símbolo externo "public: virtual class Learn::LearningEnvironment * __thiscall Learn::LearningEnvironment::clone(void)const " (?clone#LearningEnvironment#Learn##UBEPAV12#XZ) sin resolver
Also, at the beginning, when I install doxygen for use gegelati, it throws some errors:
*Checking Build System
Generating doxygen documentation in C:/Users/Acel Guilts/gegelati/bin/doc
CUSTOMBUILD : warning : tag INPUT: input source 'C:/Users/Acel' does not exist [C:\Users\Acel Guilts\gegelati\bin\doc\d
oc.vcxproj]
CUSTOMBUILD : warning : tag INPUT: input source 'Guilts/gegelati/gegelatilib' does not exist [C:\Users\Acel Guilts\gege
lati\bin\doc\doc.vcxproj]
CUSTOMBUILD : warning : tag INPUT: input source 'C:/Users/Acel' does not exist [C:\Users\Acel Guilts\gegelati\bin\doc\d
oc.vcxproj]
CUSTOMBUILD : warning : tag INPUT: input source 'Guilts/gegelati/doc' does not exist [C:\Users\Acel Guilts\gegelati\bin
\doc\doc.vcxproj]
CUSTOMBUILD : error : source C:/Users/Acel is not a readable file or directory... skipping. [C:\Users\Acel Guilts\gegel
ati\bin\doc\doc.vcxproj]
CUSTOMBUILD : error : source Guilts/gegelati/gegelatilib is not a readable file or directory... skipping. [C:\Users\Ace
l Guilts\gegelati\bin\doc\doc.vcxproj]
CUSTOMBUILD : error : source C:/Users/Acel is not a readable file or directory... skipping. [C:\Users\Acel Guilts\gegel
ati\bin\doc\doc.vcxproj]
CUSTOMBUILD : error : source Guilts/gegelati/doc is not a readable file or directory... skipping. [C:\Users\Acel Guilts
\gegelati\bin\doc\doc.vcxproj]*
Do you have any idea about how to solve the problem?
The installation process of GEGELATI for the latest version of Microsoft Visual Studio on Windows (x64) can be done with the following steps:
Download the application of your choice from the GEGELATI-APPS repository (or any other application built with the library).
Download the latest binary of the GEGELATI library from here. Make sure to select the gegelatilib-x.y.z.zip at the bottom of the page.
Unzip the content of gegelatilib-x.y.z.zip into the lib folder of your application. For example, for the stick-game application, the folder will be stick-game/lib/gegelatilib-0.2.1, and it should contain the following subfolders: bin, CMake, doc, include, lib.
Open a terminal in the stick-game/bin folder, and simply type:
cmake ..
This should produce the following output:
-- Building for: Visual Studio 16 2019
-- Selecting Windows SDK version 10.0.18362.0 to target Windows 6.1.7601.
-- The C compiler identification is MSVC 19.26.28806.0
-- The CXX compiler identification is MSVC 19.26.28806.0
-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.26.28801/bin/Hostx64/x64/cl.exe
-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.26.28801/bin/Hostx64/x64/cl.exe -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.26.28801/bin/Hostx64/x64/cl.exe
-- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.26.28801/bin/Hostx64/x64/cl.exe -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
Copy GEGELATI DLLs into <YOUR_PATH>/stick-game/bin
-- Configuring done
-- Generating done
-- Build files have been written to: <YOUR_PATH>/stick-game/bin
Now you can open the project by opening the stick-game/bin/stick-game.sln solution. To launch the application from Visual Studio, right-click on the stick-game project in the Solution Explorer and select Set as Startup Project.
Alternatively
Still in the terminal, from the bin directory:
cmake --build . --target stick-game --config Release
Then
.\Release\stick-game.exe
Best,
Karol
Download GEGELATI here and generate it Cmake solution
Download stick-game Project here and generate it Cmake solution
Add path of gegelati.h to Additional include directories. In my case G:\CMake\Sources\gegelati-master\gegelatilib\include\ (a better solution is to use relative path with ../../.. but it is not our problem)
Check that you edit for current configuration (see red arrow)
Find path of the generated GEGELATI libraries, in my case : G:\CMake\Build\gegelati\lib\Debug
6. Add this path (G:\CMake\Build\gegelati\lib\Debug) to Additional library Directories
Add gtestd.lib and GEGELATId.lib in input:
It should be good now!
I previously installed zlib library by "cmake ..", "make" and "make install". By calling function "find_package(zlib)" in CMakeLists.txt, the default installed location is found to be "C:\Program Files (x86)\zlib" . The content of CMakeLists.txt is written as:
cmake_minimum_required(VERSION 2.4.4)
project(zlib C)
find_package(ZLIB)
message(STATUS "Found")
message(STATUS " ${ZLIB_INCLUDE_DIRS}")
Now I reinstall this library by "cmake -G "MinGW Makefiles" -DCMAKE_INSTALL_PREFIX:PATH=D:/TEST_ZLIB/ ..", getting the result as bellow
E:\Code\cpp\zlib-1.2.11\build>make install
[ 41%] Built target zlib
[ 46%] Built target minigzip64
[ 85%] Built target zlibstatic
[ 90%] Built target example
[ 95%] Built target minigzip
[100%] Built target example64
Install the project...
-- Install configuration: ""
-- Installing: D:/TEST_ZLIB/lib/libzlib.dll.a
-- Installing: D:/TEST_ZLIB/bin/libzlib.dll
-- Installing: D:/TEST_ZLIB/lib/libzlibstatic.a
-- Installing: D:/TEST_ZLIB/include/zconf.h
-- Installing: D:/TEST_ZLIB/include/zlib.h
-- Installing: D:/TEST_ZLIB/share/man/man3/zlib.3
-- Installing: D:/TEST_ZLIB/share/pkgconfig/zlib.pc
However, function find_package(zlib) still reports the previous location:
E:\Code\cpp\test_cmake\build>cmake ..
-- Found
-- C:/Program Files (x86)/zlib/include
-- Configuring done
-- Generating done
-- Build files have been written to: E:/Code/cpp/test_cmake/build
How can I update the location of this library? Any help would be deeply appreciated.
Result of find_package() call is cached, so running it the second time doesn't search actually, but uses the cached value.
CMake cache is contained in CMakeCache.txt file located in the binary directory. So you have 3 possibilities for force find_package to search again:
Remove the whole binary directory.
Next invocation of cmake will be "fresh": it will search for compiler, all needed packages, and so on.
Remove CMakeCache.txt file from the binary directory.
Next invocation of cmake will be "fresh", same as in the first case.
From CMakeCache.txt remove the lines, corresponded to your package.
E.g., for force find_package(ZLIB) to search again, you may remove all entries contained substring "zlib" (case-insensitive).
Next invocation of cmake will use cached settings for compiler, other packages, but search ZLIB again.
The 3d variant requires slightly more actions, but it will result with faster cmake call.
The 1st and 2nd variants are easy to perform and their effects are almost identical. They both result in "slow" cmake call, which would need to perform all checks again. But you may be sure that you won't leave cached setting in inconsistent case.
When troubleshooting, always choose 1st or 2nd variants!
OK. I'm able to Configure and Generate successfully from CMake GUI and it appears to generate a bunch of files in my build folder. But it's not creating the Make file. Any ideas?
Edit:
All I did was create a workspace in Eclipse with a main project and a Static Library project. It's a simple HelloWorld application where the main project produces the "Hello" part of the output and the Static Library produces the "World" part of the output.
Does the CMake output give any error message? No. The only output from the CMake GUI is: Configuring done and Generating Done.
Is the correct generator selected? What settings are you using? I'm new to CMake, so I'm not entirely sure what you are asking but I can give you a screen capture:
The screen capture above shows the Eclipse project structure in the background and the CMake GUI with configuration in the foreground. The screen capture below shows the files that do get generated.
----------------------------------------------------- More Info -----------------------------------------------
I deleted all of my build folders and ran cmake again. This time I received the following output with errors:
-- The C compiler identification is Clang 4.2.0
-- The CXX compiler identification is Clang 4.2.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
World_INCLUDE_DIRS
used as include directory in directory /Users/pdl/Development/Patricia's New World Sandbox/HelloWorldCMake/Hello/src
World_LIBRARIES
linked by target "hello" in directory /Users/pdl/Development/Patricia's New World Sandbox/HelloWorldCMake/Hello/src
-- Configuring incomplete, errors occurred!
Here is the contents of my FindWorld.cmake file:
find_path(World_INCLUDE_DIRS World.h /usr/include "$ENV{WORLD_ROOT}/src")
find_library(World_LIBRARIES libWorld.a /usr/lib "$ENV{WORLD_ROOT}/Debug")
set(World_FOUND TRUE)
if (NOT World_INCLUDE_DIRS)
set(World_FOUND FALSE)
endif (NOT World_INCLUDE_DIRS)
if (NOT World_LIBRARIES)
set(World_FOUND FALSE)
endif (NOT World_LIBRARIES)
WORLD_ROOT is set in my Eclipse Hello project as an Environment Variable with the directory set to "/Users/pdl/Development/Patricia's New World Sandbox/HelloWorldCMake/World". Ah-ha! Could it be that CMake doesn't know what my Eclipse Environment Variables are?
Here is the contents of my Hello CMakeLists.txt file:
cmake_minimum_required(VERSION 2.8.6)
set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}")
find_package(World REQUIRED)
include_directories("${World_INCLUDE_DIRS}")
add_executable(hello Hello.cpp)
target_link_libraries(hello ${World_LIBRARIES})
Here is the contents of my World CMakeLists.txt file:
cmake_minimum_required(VERSION 2.8.6)
project(World)
include_directories("${CMAKE_SOURCE_DIR}")
add_library(namer World.cpp World.h)
Sure enough, it's not finding the paths to the World project. This is in my CMakeCache.txt file:
//Value Computed by CMake
Project_BINARY_DIR:STATIC=/Users/pdl/Development/Patricia's New World Sandbox/hello_world_build
//Value Computed by CMake
Project_SOURCE_DIR:STATIC=/Users/pdl/Development/Patricia's New World Sandbox/HelloWorldCMake/Hello/src
//Path to a file.
World_INCLUDE_DIRS:PATH=World_INCLUDE_DIRS-NOTFOUND
//Path to a library.
World_LIBRARIES:FILEPATH=World_LIBRARIES-NOTFOUND
My first problem was that I had accidentally ran make in a different build directory. I deleted all build directories and tried again. Then I received the following error:
CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
World_INCLUDE_DIRS
used as include directory in directory /Users/pdl/Development/Patricia's New World Sandbox/HelloWorldCMake/Hello/src
World_LIBRARIES
linked by target "hello" in directory /Users/pdl/Development/Patricia's New World Sandbox/HelloWorldCMake/Hello/src
-- Configuring incomplete, errors occurred!
Contemplating this error, it occurred to me that CMake, of course, is not aware of my Eclipse Environment Variables.
I have never compiled programs using CMake. I have downloaded the latest SVN of Allegro and tried compiling it multiple times, but no luck. I have looked allover the internet and have not found anything helpful. I have chosen to compile it for Visual Studio 9 2008. I don't really know where I have to link the source and the build. The Allegro files are confusing. I don't know if this can be useful, but I also got a hold of the lib files. If anyone knows how I should link the files to properly compile, I would be very glad.
Here is the CMakeCash.Text content:
# This is the CMakeCache file.
# For build in directory: c:/lib/Allegro4.9
# You can edit this file to change values found and used by cmake.
# If you do not want to change any of the values, simply exit the editor.
# If you do want to change a value, simply edit, save, and exit the editor.
# The syntax for the file is as follows:
# KEY:TYPE=VALUE
# KEY is the name of a variable in the cache.
# TYPE is a hint to GUI's for the type of VALUE, DO NOT EDIT TYPE!.
# VALUE is the current value for the KEY.
########################
# EXTERNAL cache entries
########################
########################
# INTERNAL cache entries
########################
//This is the directory where this CMakeCache.txt was created
CMAKE_CACHEFILE_DIR:INTERNAL=c:/lib/Allegro4.9
//Major version of cmake used to create the current loaded cache
CMAKE_CACHE_MAJOR_VERSION:INTERNAL=2
//Minor version of cmake used to create the current loaded cache
CMAKE_CACHE_MINOR_VERSION:INTERNAL=8
//Patch version of cmake used to create the current loaded cache
CMAKE_CACHE_PATCH_VERSION:INTERNAL=0
Also, here is the event list, the error is bound to be found inside:
Check for working C compiler: cl
Check for working C compiler: cl -- works
Detecting C compiler ABI info
Detecting C compiler ABI info - done
Check for working CXX compiler: cl
Check for working CXX compiler: cl -- works
Detecting CXX compiler ABI info
Detecting CXX compiler ABI info - done
Guessed MSVC directory: cl
Allowing MSVC to use SSE instructions
Check if the system is big endian
Searching 16 bit integer
Looking for sys/types.h
Looking for sys/types.h - found
Looking for stdint.h
Looking for stdint.h - not found
Looking for stddef.h
Looking for stddef.h - found
Check size of unsigned short
Check size of unsigned short - done
Using unsigned short
Check if the system is big endian - little endian
Looking for include files ALLEGRO_HAVE_DIRENT_H
Looking for include files ALLEGRO_HAVE_DIRENT_H - not found.
Looking for include files ALLEGRO_HAVE_INTTYPES_H
Looking for include files ALLEGRO_HAVE_INTTYPES_H - not found.
Looking for include files ALLEGRO_HAVE_LINUX_JOYSTICK_H
Looking for include files ALLEGRO_HAVE_LINUX_JOYSTICK_H - not found.
Looking for include files ALLEGRO_HAVE_STDBOOL_H
Looking for include files ALLEGRO_HAVE_STDBOOL_H - not found.
Looking for include files ALLEGRO_HAVE_STDINT_H
Looking for include files ALLEGRO_HAVE_STDINT_H - not found.
Looking for include files ALLEGRO_HAVE_SYS_IO_H
Looking for include files ALLEGRO_HAVE_SYS_IO_H - not found.
Looking for include files ALLEGRO_HAVE_SYS_STAT_H
Looking for include files ALLEGRO_HAVE_SYS_STAT_H - found
Looking for include files ALLEGRO_HAVE_SYS_TIME_H
Looking for include files ALLEGRO_HAVE_SYS_TIME_H - not found.
Looking for include files ALLEGRO_HAVE_TIME_H
Looking for include files ALLEGRO_HAVE_TIME_H - found
Looking for include files ALLEGRO_HAVE_SYS_UTSNAME_H
Looking for include files ALLEGRO_HAVE_SYS_UTSNAME_H - not found.
Looking for include files ALLEGRO_HAVE_SYS_TYPES_H
Looking for include files ALLEGRO_HAVE_SYS_TYPES_H - found
Looking for include files ALLEGRO_HAVE_SOUNDCARD_H
Looking for include files ALLEGRO_HAVE_SOUNDCARD_H - not found.
Looking for include files ALLEGRO_HAVE_SYS_SOUNDCARD_H
Looking for include files ALLEGRO_HAVE_SYS_SOUNDCARD_H - not found.
Looking for include files ALLEGRO_HAVE_MACHINE_SOUNDCARD_H
Looking for include files ALLEGRO_HAVE_MACHINE_SOUNDCARD_H - not found.
Looking for include files ALLEGRO_HAVE_LINUX_SOUNDCARD_H
Looking for include files ALLEGRO_HAVE_LINUX_SOUNDCARD_H - not found.
Looking for include files ALLEGRO_HAVE_OSATOMIC_H
Looking for include files ALLEGRO_HAVE_OSATOMIC_H - not found.
Looking for getexecname
Looking for getexecname - not found
Looking for mkstemp
Looking for mkstemp - not found
Looking for mmap
Looking for mmap - not found
Looking for mprotect
Looking for mprotect - not found
Looking for sched_yield
Looking for sched_yield - not found
Looking for stricmp
Looking for stricmp - found
Looking for strlwr
Looking for strlwr - found
Looking for strupr
Looking for strupr - found
Looking for sysconf
Looking for sysconf - not found
Looking for fseeko
Looking for fseeko - not found
Looking for ftello
Looking for ftello - not found
Check size of _Bool
Check size of _Bool - failed
Performing Test ALLEGRO_HAVE_PROCFS_ARGCV
Performing Test ALLEGRO_HAVE_PROCFS_ARGCV - Failed
Performing Test ALLEGRO_HAVE_SV_PROCFS_H
Performing Test ALLEGRO_HAVE_SV_PROCFS_H - Failed
Performing Test ALLEGRO_HAVE_VA_COPY
Performing Test ALLEGRO_HAVE_VA_COPY - Failed
Check if constructors are supported - no
Could NOT find DINPUT (missing: DINPUT_INCLUDE_DIR DINPUT_LIBRARY)
CMake Error at CMakeLists.txt:565 (message):
Windows port requires DirectInput (not found).
Configuring incomplete, errors occurred!
If cmake is failing, it should tell you what went wrong, ie: if you're missing required dependencies.
Please post the actual errors you see from cmake, and/or the compiler if cmake itself didn't fail.
edit:
There you go, your errors:
Could NOT find DINPUT (missing: DINPUT_INCLUDE_DIR DINPUT_LIBRARY)
CMake Error at CMakeLists.txt:565 (message):
Windows port requires DirectInput (not found).
That's a common issue and is fixed in newer releases. 4.9.14 is ancient. Please upgrade to the latest release, or even straight from SVN.
First, run cmake from the MSVC command prompt, not the regular command prompt. Then set the INCLUDE and LIB environment variables to point to your directx installation. For example:
set INCLUDE=C:\Program Files\Microsoft DirectX SDK (August 2009)\Include
set LIB=C:\Program Files\Microsoft DirectX SDK (August 2009)\lib\x86
Notice the lack of quotes ("). Do not use quotes. Then delete CMakeCache.txt and run cmake again, and it should find directx.