btparser/CMakeLists.txt

81 lines
1.9 KiB
CMake
Raw Normal View History

2023-11-27 21:02:37 +08:00
# 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 3.15)
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()
set(CMKR_ROOT_PROJECT OFF)
if(CMAKE_CURRENT_SOURCE_DIR STREQUAL CMAKE_SOURCE_DIR)
set(CMKR_ROOT_PROJECT ON)
# Bootstrap cmkr and automatically regenerate CMakeLists.txt
include(cmkr.cmake OPTIONAL RESULT_VARIABLE CMKR_INCLUDE_RESULT)
if(CMKR_INCLUDE_RESULT)
cmkr()
endif()
# Enable folder support
set_property(GLOBAL PROPERTY USE_FOLDERS ON)
# Create a configure-time dependency on cmake.toml to improve IDE support
configure_file(cmake.toml cmake.toml COPYONLY)
endif()
project(btparser)
# Target: btparser
set(btparser_SOURCES
"btparser/lexer.cpp"
"btparser/preprocessor.cpp"
"btparser/types.cpp"
"btparser/typesparser.cpp"
"btparser/ast.h"
"btparser/helpers.h"
"btparser/keywords.h"
"btparser/lexer.h"
"btparser/operators.h"
"btparser/preprocessor.h"
"btparser/testfiles.h"
"btparser/types.h"
cmake.toml
)
add_library(btparser STATIC)
target_sources(btparser PRIVATE ${btparser_SOURCES})
source_group(TREE ${CMAKE_CURRENT_SOURCE_DIR} FILES ${btparser_SOURCES})
target_compile_features(btparser PUBLIC
cxx_std_14
)
target_include_directories(btparser PUBLIC
btparser
)
# Target: test
if(CMKR_ROOT_PROJECT) # root
set(test_SOURCES
"btparser/main.cpp"
cmake.toml
)
add_executable(test)
target_sources(test PRIVATE ${test_SOURCES})
source_group(TREE ${CMAKE_CURRENT_SOURCE_DIR} FILES ${test_SOURCES})
target_link_libraries(test PRIVATE
btparser
)
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 test)
endif()
endif()