Initial commit
This commit is contained in:
45
CMakeLists.txt
Normal file
45
CMakeLists.txt
Normal file
@@ -0,0 +1,45 @@
|
||||
cmake_minimum_required(VERSION 3.10)
|
||||
|
||||
# Project and C standard configuration
|
||||
project(bhlib LANGUAGES C)
|
||||
set(CMAKE_C_STANDARD 90)
|
||||
set(CMAKE_C_STANDARD_REQUIRED ON)
|
||||
|
||||
# Check for IPO/LTO
|
||||
include(CheckIPOSupported)
|
||||
check_ipo_supported(RESULT supported)
|
||||
|
||||
if(supported)
|
||||
message(STATUS "IPO/LTO enabled")
|
||||
set(CMAKE_INTERPROCEDURAL_OPTIMIZATION TRUE)
|
||||
endif()
|
||||
|
||||
# Enable testing
|
||||
include(CTest)
|
||||
enable_testing()
|
||||
|
||||
# Set library code
|
||||
set(BHLIB_SOURCE
|
||||
src/hashmap.c
|
||||
src/queue.c
|
||||
)
|
||||
|
||||
set(BHLIB_HEADER
|
||||
include/bh/hashmap.h
|
||||
include/bh/queue.h
|
||||
)
|
||||
|
||||
# Library
|
||||
add_library(bhlib STATIC ${BHLIB_SOURCE} ${BHLIB_HEADER})
|
||||
target_include_directories(bhlib PUBLIC include)
|
||||
|
||||
# Runtime definition
|
||||
add_executable(main
|
||||
main.c
|
||||
)
|
||||
|
||||
target_link_libraries(main bhlib)
|
||||
|
||||
# Tests
|
||||
add_subdirectory(unit)
|
||||
add_subdirectory(tests)
|
||||
Reference in New Issue
Block a user