# This file is automatically generated from cmake.toml - DO NOT EDIT # See https://github.com/build-cpp/cmkr for more information cmake_minimum_required(VERSION 2.8...3.8) if(CMAKE_SOURCE_DIR STREQUAL CMAKE_BINARY_DIR) message(FATAL_ERROR "In-tree builds are not supported. Run CMake from a separate directory: cmake -B build") endif() # Regenerate CMakeLists.txt automatically in the root project set(CMKR_ROOT_PROJECT OFF) if(CMAKE_CURRENT_SOURCE_DIR STREQUAL CMAKE_SOURCE_DIR) set(CMKR_ROOT_PROJECT ON) # Enable folder support set_property(GLOBAL PROPERTY USE_FOLDERS ON) endif() # Create a configure-time dependency on cmake.toml to improve IDE support if(CMKR_ROOT_PROJECT) configure_file(cmake.toml cmake.toml COPYONLY) endif() project(cmkr LANGUAGES CXX VERSION 0.2.5 DESCRIPTION "CMakeLists generator from TOML" ) include("cmake/generate_documentation.cmake") include("cmake/generate_resources.cmake") # third_party set(CMKR_CMAKE_FOLDER ${CMAKE_FOLDER}) if(CMAKE_FOLDER) set(CMAKE_FOLDER "${CMAKE_FOLDER}/third_party") else() set(CMAKE_FOLDER third_party) endif() add_subdirectory(third_party) set(CMAKE_FOLDER ${CMKR_CMAKE_FOLDER}) # tests set(CMKR_CMAKE_FOLDER ${CMAKE_FOLDER}) if(CMAKE_FOLDER) set(CMAKE_FOLDER "${CMAKE_FOLDER}/tests") else() set(CMAKE_FOLDER tests) endif() add_subdirectory(tests) set(CMAKE_FOLDER ${CMKR_CMAKE_FOLDER}) # Target cmkr_generate_documentation set(CMKR_TARGET cmkr_generate_documentation) set(cmkr_generate_documentation_SOURCES "") set(CMKR_SOURCES ${cmkr_generate_documentation_SOURCES}) add_library(cmkr_generate_documentation INTERFACE) if(cmkr_generate_documentation_SOURCES) target_sources(cmkr_generate_documentation INTERFACE ${cmkr_generate_documentation_SOURCES}) endif() generate_documentation() unset(CMKR_TARGET) unset(CMKR_SOURCES) # Target cmkr set(CMKR_TARGET cmkr) set(cmkr_SOURCES "") list(APPEND cmkr_SOURCES "src/arguments.cpp" "src/build.cpp" "src/cmake_generator.cpp" "src/error.cpp" "src/help.cpp" "src/main.cpp" "src/project_parser.cpp" "include/arguments.hpp" "include/build.hpp" "include/cmake_generator.hpp" "include/error.hpp" "include/fs.hpp" "include/help.hpp" "include/literals.hpp" "include/project_parser.hpp" "cmake/cmkr.cmake" "cmake/version.hpp.in" ) list(APPEND cmkr_SOURCES cmake.toml ) set(CMKR_SOURCES ${cmkr_SOURCES}) add_executable(cmkr) if(cmkr_SOURCES) target_sources(cmkr PRIVATE ${cmkr_SOURCES}) endif() get_directory_property(CMKR_VS_STARTUP_PROJECT DIRECTORY ${PROJECT_SOURCE_DIR} DEFINITION VS_STARTUP_PROJECT) if(NOT CMKR_VS_STARTUP_PROJECT) set_property(DIRECTORY ${PROJECT_SOURCE_DIR} PROPERTY VS_STARTUP_PROJECT cmkr) endif() source_group(TREE ${CMAKE_CURRENT_SOURCE_DIR} FILES ${cmkr_SOURCES}) target_compile_features(cmkr PRIVATE cxx_std_11 ) target_include_directories(cmkr PRIVATE include ) target_link_libraries(cmkr PRIVATE toml11 ghc_filesystem mpark_variant ordered_map nlohmann_json ) generate_resources(${CMKR_TARGET}) unset(CMKR_TARGET) unset(CMKR_SOURCES) install( TARGETS cmkr DESTINATION bin COMPONENT cmkr )