Initial commit
This commit is contained in:
Executable
+96
@@ -0,0 +1,96 @@
|
||||
project(WFR-lib C CXX)
|
||||
cmake_minimum_required(VERSION 2.8)
|
||||
|
||||
|
||||
# cmake options
|
||||
OPTION(BUILD_WFR_SHARED "Build libwfr as shared library" ON)
|
||||
|
||||
|
||||
# Compiler flags
|
||||
set(CMAKE_CXX_FLAGS_DEBUG "-O0 -g3 -DNDEBUG -Wall")
|
||||
set(CMAKE_C_FLAGS_DEBUG "-O0 -g3 -DNDEBUG -Wall")
|
||||
#set(CMAKE_CXX_FLAGS_RELEASE "-O3 -Wall")
|
||||
#set(CMAKE_C_FLAGS_RELEASE "-O3 -Wall")
|
||||
#set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS_RELEASE}")
|
||||
#set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS_RELEASE}")
|
||||
|
||||
|
||||
# Initialize variables
|
||||
set(WFR_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/include)
|
||||
set(WFR_DIR "${CMAKE_CURRENT_SOURCE_DIR}")
|
||||
set(WFR_LIBRARY_DIR "${CMAKE_CURRENT_BINARY_DIR}")
|
||||
set(wfr_add_include_dirs "")
|
||||
set(wfr_cpp_files "")
|
||||
|
||||
|
||||
# Check whether we are called by another script
|
||||
get_directory_property(hasParent PARENT_DIRECTORY)
|
||||
|
||||
|
||||
# Override default libs install directory
|
||||
if (NOT hasParent)
|
||||
if (CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
|
||||
set(CMAKE_INSTALL_PREFIX "${CMAKE_CURRENT_SOURCE_DIR}/dist")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
|
||||
# Include third-party stuff
|
||||
include(third-party/cmake.inc)
|
||||
|
||||
# Include wfr source code
|
||||
include(src/cmake.inc)
|
||||
|
||||
|
||||
# Set include dir and compiler command line options for compiling
|
||||
include_directories(${WFR_INCLUDE_DIR} ${Libodb_common_INCLUDE_DIR} ${Boost_INCLUDE_DIR} ${Libodb_sqlite_INCLUDE_DIR} ${Rapidjson_INCLUDE_DIR} ${wfr_add_include_dirs})
|
||||
ADD_DEFINITIONS(
|
||||
-std=c++11
|
||||
-Wno-unknown-pragmas
|
||||
)
|
||||
|
||||
|
||||
# Add wfr library
|
||||
if (BUILD_WFR_SHARED)
|
||||
add_library(wfr_lib SHARED ${wfr_cpp_files})
|
||||
set(WFR_LIBRARY_EXTENSION ".so")
|
||||
else()
|
||||
add_library(wfr_lib STATIC ${wfr_cpp_files})
|
||||
set(WFR_LIBRARY_EXTENSION ".a")
|
||||
endif()
|
||||
add_dependencies(wfr_lib libodb sqlite3 Boost)
|
||||
set_target_properties(wfr_lib PROPERTIES OUTPUT_NAME wfr)
|
||||
|
||||
|
||||
# Set variables
|
||||
set(WFR_LIBRARIES
|
||||
wfr_lib
|
||||
"${Boost_LIBRARIES}"
|
||||
"${Libodb_sqlite_LIBRARIES}"
|
||||
"${Libodb_common_LIBRARIES}"
|
||||
"${Sqlite3_LIBRARIES}"
|
||||
pthread
|
||||
dl
|
||||
)
|
||||
|
||||
message("WFR_LIBRARIES: ${WFR_LIBRARIES}")
|
||||
message("Boost_LIBRARIES: ${Boost_LIBRARIES}")
|
||||
message("Libodb_sqlite_LIBRARIES: ${Libodb_sqlite_LIBRARIES}")
|
||||
message("Libodb_common_LIBRARIES: ${Libodb_common_LIBRARIES}")
|
||||
message("Sqlite3_LIBRARIES: ${Sqlite3_LIBRARIES}")
|
||||
|
||||
# Where to install the wfr stuff
|
||||
install(DIRECTORY ${WFR_INCLUDE_DIR} DESTINATION ${CMAKE_INSTALL_PREFIX})
|
||||
install(TARGETS wfr_lib DESTINATION ${CMAKE_INSTALL_PREFIX}/lib)
|
||||
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/cmake/wfr-config.cmake DESTINATION ${CMAKE_INSTALL_PREFIX})
|
||||
|
||||
|
||||
# Provide some variables to parent script
|
||||
if(hasParent)
|
||||
set(WFR_FOUND "TRUE" PARENT_SCOPE)
|
||||
set(WFR_DIR "${WFR_DIR}" PARENT_SCOPE)
|
||||
set(WFR_INCLUDE_DIR "${WFR_INCLUDE_DIR}" PARENT_SCOPE)
|
||||
set(WFR_LIBRARY_DIR "${WFR_LIBRARY_DIR}" PARENT_SCOPE)
|
||||
set(WFR_LIBRARIES ${WFR_LIBRARIES} PARENT_SCOPE)
|
||||
endif()
|
||||
|
||||
Reference in New Issue
Block a user