...
Code Block |
---|
cmake_minimum_required(VERSION 3.10) project(ExampleProject) # Add the source files set(SRCS main.cpp) # Add the executable add_executable(ExampleProject ${SRCS}) |
The project name is ExampleProject
and the source file for the project is main.cpp
. The executable is added using the add_executable
command, with the project name and source files as arguments.
...
Below is an advanced example:
Code Block |
---|
cmake_minimum_required(VERSION 3.10)
project(ExampleProject CXX)
# Set the C++ standard to use
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
# Set the build type to release by default
if(NOT CMAKE_BUILD_TYPE)
set(CMAKE_BUILD_TYPE Release)
endif()
# Add the source files
file(GLOB_RECURSE SRCS "src/*.cpp")
# Add the include directories
include_directories(include)
# Add the executable
add_executable(ExampleProject ${SRCS})
# Link libraries if needed
# target_link_libraries(ExampleProject [library1 library2 ...])
# Enable testing
enable_testing()
# Add tests
# add_test(NAME ExampleTest COMMAND ExampleProject [arguments])
# Install the executable
install(TARGETS ExampleProject DESTINATION bin) |
For above, the project name is ExampleProject
and is built as an executable. The C++ standard used is C++17
. The build type is set to Release
by default, but can be changed by specifying a different type when running CMake. The source files are located in the src
directory and are added using the file(GLOB_RECURSE ...)
command. The include directories are added using the include_directories
command. The executable is added using the add_executable
command. If the project requires any libraries, they can be linked using the target_link_libraries
command. The project can be installed using the install
command. The enable_testing
command enables testing and individual tests can be added using the add_test
command.