98 lines
2.5 KiB
CMake
98 lines
2.5 KiB
CMake
cmake_minimum_required (VERSION 2.6)
|
|
|
|
set(TEST_CORE_TARGET_NAME "test_core")
|
|
|
|
set(GENERATED_INCLUDE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/include")
|
|
set(GENERATED_VERSION_FILE "${GENERATED_INCLUDE_DIRECTORY}/version.h")
|
|
|
|
configure_file(
|
|
${CMAKE_CURRENT_SOURCE_DIR}/version.h.in
|
|
${GENERATED_VERSION_FILE}
|
|
)
|
|
|
|
set(EXTERNAL_FILES
|
|
../external/cpp_sqlite/src/CppSQLite3.cpp
|
|
../external/json/include/json.hpp
|
|
../external/cpp_sqlite/include/CppSQLite3.h
|
|
)
|
|
|
|
set(EXTERNAL_C_FILES
|
|
../external/cpp_sqlite/src/sqlite3.c
|
|
../external/cpp_sqlite/include/sqlite3.h
|
|
)
|
|
|
|
set_source_files_properties(${EXTERNAL_FILES} PROPERTIES COMPILE_FLAGS "-w")
|
|
set_source_files_properties(${EXTERNAL_C_FILES} PROPERTIES COMPILE_FLAGS "-std=gnu89 -w")
|
|
|
|
set(LIB_SRC_FILES
|
|
src/DatabaseStorage.cpp
|
|
src/DefinitionKind.cpp
|
|
src/EdgeKind.cpp
|
|
src/ElementComponentKind.cpp
|
|
src/LocationKind.cpp
|
|
src/NameHierarchy.cpp
|
|
src/NodeKind.cpp
|
|
src/ReferenceKind.cpp
|
|
src/SourcetrailDBWriter.cpp
|
|
src/SymbolKind.cpp
|
|
src/utility.cpp
|
|
)
|
|
|
|
set(LIB_HDR_FILES
|
|
include/DatabaseStorage.h
|
|
include/DefinitionKind.h
|
|
include/EdgeKind.h
|
|
include/ElementComponentKind.h
|
|
include/LocationKind.h
|
|
include/NameHierarchy.h
|
|
include/NodeKind.h
|
|
include/ReferenceKind.h
|
|
include/SourceRange.h
|
|
include/SourcetrailDBWriter.h
|
|
include/SourcetrailException.h
|
|
include/StorageEdge.h
|
|
include/StorageElementComponent.h
|
|
include/StorageError.h
|
|
include/StorageFile.h
|
|
include/StorageLocalSymbol.h
|
|
include/StorageNode.h
|
|
include/StorageOccurrence.h
|
|
include/StorageSourceLocation.h
|
|
include/StorageSymbol.h
|
|
include/SymbolKind.h
|
|
include/utility.h
|
|
${GENERATED_VERSION_FILE}
|
|
)
|
|
|
|
add_library(${LIB_CORE_TARGET_NAME} STATIC ${LIB_SRC_FILES} ${LIB_HDR_FILES} ${EXTERNAL_FILES} ${EXTERNAL_C_FILES})
|
|
|
|
set_target_properties(${LIB_CORE_TARGET_NAME} PROPERTIES OUTPUT_NAME "sourcetraildb")
|
|
|
|
set_property(
|
|
TARGET ${LIB_CORE_TARGET_NAME}
|
|
PROPERTY INCLUDE_DIRECTORIES
|
|
"${CMAKE_CURRENT_SOURCE_DIR}/include"
|
|
"${GENERATED_INCLUDE_DIRECTORY}"
|
|
)
|
|
|
|
target_include_directories(${LIB_CORE_TARGET_NAME} SYSTEM
|
|
PUBLIC ../external/json/include
|
|
PUBLIC ../external/cpp_sqlite/include
|
|
)
|
|
|
|
set(TEST_SRC_FILES
|
|
test/test.cpp
|
|
)
|
|
|
|
add_executable(${TEST_CORE_TARGET_NAME} ${TEST_SRC_FILES})
|
|
|
|
target_include_directories(${TEST_CORE_TARGET_NAME} PUBLIC
|
|
"${CMAKE_CURRENT_SOURCE_DIR}/include"
|
|
../external/catch/include
|
|
../external/json/include
|
|
../external/cpp_sqlite/include
|
|
"${GENERATED_INCLUDE_DIRECTORY}"
|
|
)
|
|
|
|
target_link_libraries(${TEST_CORE_TARGET_NAME} ${LIB_CORE_TARGET_NAME} ${CMAKE_DL_LIBS})
|