来源:
http://blog.csdn.net/clever101
在网上搜了很多的资料,发现CMake不能设置一个动态库工程的输出目录和中间目录,难道除了VC之外其它编译器如gcc中没有这样的选项?
设置dll或exe的输出目录可以这样:
SET_TARGET_PROPERTIES(core PROPERTIES RUNTIME_OUTPUT_DIRECTORY ../bin)
这样dll或exe就输出到上一级的bin文件夹的Debug(debug版本)或Release文件夹(release版本)。还有不知道如何设置使用环境变量的路径。
另外dll的导入库的路径设置没有找到,在网上的一篇文章:
CMake/Tutorials/Exportingand Importing Targets
上面给了一个示例命令是:
add_library(bar SHARED IMPORTED)
set_property(TARGET bar PROPERTY IMPORTED_LOCATION c:/path/to/bar.dll)
set_property(TARGET bar PROPERTY IMPORTED_IMPLIB c:/path/to/bar.lib)
add_executable(myexe src1.c src2.c)
target_link_libraries(myexe bar)
我试了下,并没有效果。还有我不太明白的是为什么设置一个dll的导入库的路径,为什么要指明目标exe程序。
参考文献:
1. CMAKE修改VS大总结
2. CMake使用介绍
作者:朱金灿来源:http://blog.csdn.net/clever101 在网上搜了很多的资料,发现CMake不能设置一个动态库工程的输出目录和中间目录,难道除了VC之外其它编译器如gcc中没有这样的选项? 设置dll或exe的输出目录可以这样:SET_TARGET_PROPERTIES(core PROPERTIES RUNTIME_OUTPUT_DIR
Project(CmakeTest)
aux_source_directory(. src)
#add_executable(project1 ${src}) #编译为可执行程序
#add_library(project1 ${src}) #编译为静态库
add_library(project1 SH...
也就是说: 如果我将工程名称定义如下PROJECT(TEST),那么与该命令关联的变量有四个:
TEST_BINARY_DIR(隐式指定:二进制文件保存路径)/TEST_SOURCE_DIR(隐式指定:源码路径)
PROJECT_BINARY_DIR(系统预定)/PROJECT_SOURCE_DIR(系统预定)
其中:TEST_BINARY_DIR ==PROJECT_BINARY_DIR
其中:TEST_SOURCE_DIR ==PROJECT_SOURCE_DI..
cmake -DCMAKE_INSTALL_PREFIX=D:/api -DBUILD_TYPE=Debug ../
cmake --build ./
cmake --install ./
cmake -DCMAKE_INSTALL_PREFIX=D:/api -DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -G"MinGW Makefiles" ../
mingw32-make -f Makefi
方式1.两种设置方式
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
set(CMAKE_RUNTIME_OUTPUT_DIR
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/Lib)set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/Lib)set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/Bin)
以上设置VS会自动新建Debug和Rele...