Basic Project
The most basic porject is an executable built from source code file.
CMakeLists.txt
cmake_minimum_required (version 2.6)
project (Tutorial)
add_executable(Tutorial tutorial.cxx)
tutorial.cxx
#include <stdio.h> int main(int argc, char* argv[])
{
fprintf(stdout, "hello world");
return ;
}
Project files:
.
├── CMakeLists.txt
└── tutorial.cxx
Upper, lower, and mixed case cammonds are supported by CMake.
Adding a library
├── CMakeLists.txt
├── MathFunctions
│ ├── CMakeLists.txt
│ ├── MathFunctions.h
│ └── mysqrt.cxx
└── tutorial.cxx
In MathFunctions/CMakeLists.txt
add_library(MathFunctions mysqrt.cxx)
add_library: create a library, static or dynamic library.
In ./CMakeList.txt
cmake_minimum_required (VERSION 2.6)
project (Tutorial) # add the binary tree to the search path for include files
# so that we will find TutorialConfig.h
include_directories ("${PROJECT_BINARY_DIR}")
include_directories ("${PROJECT_SOURCE_DIR}/MathFunctions") add_subdirectory (MathFunctions) # add the executable
add_executable (Tutorial tutorial.cxx)
target_link_libraries (Tutorial MathFunctions)
include_directories: to find the header files
add_executable: to create executable
target_link_libraries: add the library to the executable
Reference: