1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- From 7982ecebe1c1c41e82779a65fa2d93f19ffd755f Mon Sep 17 00:00:00 2001
- From: Yegor Yefremov <yegorslists@googlemail.com>
- Date: Wed, 5 Feb 2020 12:28:44 +0100
- Subject: [PATCH] CMake: fix object library usage
- Object libraries cannot be use in target_link_libraries() command
- as they are no normal binary files like *.a or *.so but a collection
- of object files.
- See add_library() definition for details.
- Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>
- ---
- CMakeLists.txt | 9 ++++-----
- 1 file changed, 4 insertions(+), 5 deletions(-)
- diff --git a/CMakeLists.txt b/CMakeLists.txt
- index af8010f..028a7bb 100644
- --- a/CMakeLists.txt
- +++ b/CMakeLists.txt
- @@ -83,8 +83,7 @@ target_compile_definitions(libninja PRIVATE _WIN32_WINNT=0x0601 __USE_MINGW_ANSI
- endif()
- # Main executable is library plus main() function.
- -add_executable(ninja src/ninja.cc)
- -target_link_libraries(ninja PRIVATE libninja libninja-re2c)
- +add_executable(ninja src/ninja.cc $<TARGET_OBJECTS:libninja> $<TARGET_OBJECTS:libninja-re2c>)
- # Tests all build into ninja_test executable.
- add_executable(ninja_test
- @@ -106,11 +105,12 @@ add_executable(ninja_test
- src/subprocess_test.cc
- src/test.cc
- src/util_test.cc
- + $<TARGET_OBJECTS:libninja>
- + $<TARGET_OBJECTS:libninja-re2c>
- )
- if(WIN32)
- target_sources(ninja_test PRIVATE src/includes_normalize_test.cc src/msvc_helper_test.cc)
- endif()
- -target_link_libraries(ninja_test PRIVATE libninja libninja-re2c)
- foreach(perftest
- build_log_perftest
- @@ -120,8 +120,7 @@ foreach(perftest
- hash_collision_bench
- manifest_parser_perftest
- )
- - add_executable(${perftest} src/${perftest}.cc)
- - target_link_libraries(${perftest} PRIVATE libninja libninja-re2c)
- + add_executable(${perftest} src/${perftest}.cc $<TARGET_OBJECTS:libninja> $<TARGET_OBJECTS:libninja-re2c>)
- endforeach()
- enable_testing()
- --
- 2.17.0
|