On 01.05.2014 15:54, Rick McGuire wrote:

Is it possible to get cmake to check the actual compile/link commands when they are issued? I'd love to compare the cmake versions to our existing build to see if things are ending up the same.

To a degree (response files on window limit the output in some cases); see below.

Creating a minimal self-contained test case would not be easy. This is an open source project though, if you're willing to try checking it out. The svn url is svn http://svn.code.sf.net/p/oorexx/code-0/main/trunk


I was able to build the project with these steps:
    - Open the "VS2013 x64 Cross Tools Command Prompt"
- Add target_link_libraries(rexxapi ws2_32) to the end of CMakeLists.txt
    - Create a "build" directory in the source directory
    - Run "cmake -G NMake Makefiles .." from the build directory
    - Run nmake VERBOSE=1

The command for the link this generates on my system is:
C:\PROGRA~2\MICROS~2.0\VC\bin\X86_AM~1\link.exe /nologo @CMakeFiles\rexxapi.dir\objects1.rsp /out:..\CMakeFiles\bin\rexxapi.dll /implib:..\CMakeFiles\bin\rexxapi.lib /pdb:C:\Users\ngladitz\src\main\CMakeFiles\bin\rexxapi.pdb /dll /version:0.0 /machine:x64 /debug /INCREMENTAL ws2_32.lib kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib /MANIFEST /MANIFESTFILE:..\CMakeFiles\bin\rexxapi.dll.intermediate.manifest ..\CMakeFiles\bin\rexxapi.dll.embed.manifest.res

The link is successful.

Some of the project's setup looks unorthodox.
Specifically:
- outputting binaries in the sources directory rather than the build directory (this might break parallel build directories or being able to purge build directories since they would not contain all artifacts) - using a directory called CMakeFiles for the output (which in in source-tree builds would belong to cmake and should not be used by the project) - The two platform dependent add_library() calls could be merged into a single call that uses a list variable for the platform specific sources. The redundant listing looks error prone.

Nils
--

Powered by www.kitware.com

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake

Reply via email to