Y
避免在创建多个可执行文件反复修改CMakeLists.txt
W
首先创建一个文件夹set存放cpp文件
set1.cc
#include <iostream>
int main() {
std::cout << "set 1"<<std::endl;
return 0;
}
set2.cc
#include <iostream>
int main() {
std::cout << "set 2"<<std::endl;
return 0;
}
目录结构
project(cmake_test)
#point source file directory
set(SOURCE_DIR "set")
# get source file list
file(GLOB SOURCE ${SOURCE_DIR}/*.cc ${SOURCE_DIR}/*.cpp)
foreach(SOURCE_FILE ${SOURCE})
# extract file name without extendsion name
get_filename_component(FILE_NAME ${SOURCE_FILE} NAME_WE)
# ${FILE_NAME} is execuatable file now
add_executable(${FILE_NAME} ${SOURCE_FILE})
endforeach()
编译
mkdir build
cd build
cmake ..
make -j$(nproc)
运行
./set1
./set2
完整可看diff_test