我建立一个项目,其最终的输出是一个静态库,和我的CMake基础,构建系统由两个子目录 - src和测试 - 那里,并为测试产生的可执行文件和链接到这是建库从SRC。
我的问题是,测试版本需要的库已经存在,如果它是没有任何错误进行。 有没有办法让CMake的理解,当涉及到建立测试库将不存在,或者我要在单独的步骤做这些?
我的CMakeLists.txt文件,如下:
Root文件:
cmake_minimum_required( VERSION 2.8 )
project( mylib )
add_subdirectory( Src )
add_subdirectory( Tests )
SRC文件:
file( GLOB MYLIB_SOURCES *.cpp )
add_library( mylib ${MYLIB_SOURCES} )
测试文件:
file( GLOB MYLIB_TESTS *.cpp )
add_executable( tests ${MYLIB_TESTS} )
find_package( GTest REQUIRED )
find_library( LIB_MYLIB NAMES mylib PATHS "${CMAKE_SOURCE_DIR}/Build/Src" )
include_directories( ../Src )
include_directories( ${GTEST_INCLUDE_DIRECTORIES} )
target_link_libraries( tests ${LIB_MYLIB} ${GTEST_LIBRARIES} pthread )