Skip to content
Snippets Groups Projects
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
CMakeLists_bin.txt 948 B
project({project_name})

set(PROJECT_NAME {project_name})

find_package(tclap REQUIRED)
{find_packages}

set(SOURCE_FILES
        {source_files}
        )

# Add executable target
add_executable(${{PROJECT_NAME}} ${{SOURCE_FILES}})

# Include directories
target_include_directories(${{PROJECT_NAME}}
        PUBLIC ${{CMAKE_CURRENT_SOURCE_DIR}}/src # anything that depends on this should include src also, hence public
        {include_paths}
        )

# Target link libraries
target_link_libraries(${{PROJECT_NAME}} {target_libs})

set_target_properties(${{PROJECT_NAME}} PROPERTIES
        CXX_STANDARD 17
        CXX_STANDARD_REQUIRED ON
        LINKER_LANGUAGE CXX

        INTERFACE_POSITION_INDEPENDENT_CODE ON
        )

# if (CMAKE_BUILD_TYPE STREQUAL "Release")
#         set_property ( TARGET ${{PROJECT_NAME}} PROPERTY INTERPROCEDURAL_OPTIMIZATION TRUE )
# endif ()

# Install
install(TARGETS ${{PROJECT_NAME}} RUNTIME DESTINATION bin)