libjson converted to cmake
This commit is contained in:
parent
ead9014ec5
commit
10918ac643
2 changed files with 39 additions and 19 deletions
|
@ -8,11 +8,8 @@ unset(BuildTypeCurr)
|
|||
set_property (GLOBAL PROPERTY DEBUG_CONFIGURATIONS "Debug;Release")
|
||||
project (WordReference CXX)
|
||||
|
||||
include(ExternalProject)
|
||||
message(STATUS "Configuring ${PROJECT_NAME} for ${CMAKE_BUILD_TYPE}")
|
||||
|
||||
set (LIBJSON_INCLUDE_DIRS ${PROJECT_SOURCE_DIR}/libjson)
|
||||
set (LIBJSON_LIB_DIR ${PROJECT_SOURCE_DIR}/libjson)
|
||||
set (LIBJSON_CODE_DIR ${PROJECT_SOURCE_DIR}/libjson)
|
||||
set (${PROJECT_NAME}_Version_Major 0)
|
||||
set (${PROJECT_NAME}_Version_Minor 1)
|
||||
set (${PROJECT_NAME}_App_Name "\"${PROJECT_NAME}\"")
|
||||
|
@ -22,38 +19,32 @@ set (${PROJECT_NAME}_SourceCodeVar "\"\$${PROJECT_NAME_UPPER}_SOURCE_PATH\"")
|
|||
find_package(CURL REQUIRED)
|
||||
find_package(Boost 1.32.0 REQUIRED program_options)
|
||||
|
||||
set (GNU_COMMON_C_FLAGS "-Werror -msse2")
|
||||
set (GNU_COMMON_CXX_FLAGS "-std=c++11 -Werror -msse2 -fexceptions")
|
||||
set (GNU_COMMON_C_FLAGS "-Werror")
|
||||
set (GNU_COMMON_CXX_FLAGS "-std=c++11 -Werror -fexceptions")
|
||||
foreach (ConfigType ${CMAKE_CONFIGURATION_TYPES})
|
||||
string(TOUPPER ${ConfigType} ConfigTypeUpper)
|
||||
set(CMAKE_CXX_FLAGS_${ConfigTypeUpper} "${CMAKE_CXX_FLAGS_${ConfigTypeUpper}} ${GNU_COMMON_CXX_FLAGS} -DDUCK_${ConfigTypeUpper}")
|
||||
set(CMAKE_C_FLAGS_${ConfigTypeUpper} "${CMAKE_C_FLAGS_${ConfigTypeUpper}} ${GNU_COMMON_C_FLAGS} -DDUCK_${ConfigTypeUpper}")
|
||||
endforeach()
|
||||
|
||||
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -DJSON_DEBUG")
|
||||
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -DJSON_DEBUG")
|
||||
set(CMAKE_CXX_FLAGS_FINAL "${CMAKE_CXX_FLAGS_FINAL} -DNDEBUG")
|
||||
|
||||
add_definitions(-DJSON_ISO_STRICT)
|
||||
include_directories(SYSTEM
|
||||
${CURL_INCLUDE_DIRS}
|
||||
${LIBJSON_INCLUDE_DIRS}
|
||||
${Boost_INCLUDE_DIRS}
|
||||
)
|
||||
include_directories(
|
||||
src/
|
||||
libjson/
|
||||
)
|
||||
link_directories(
|
||||
${LIBJSON_LIB_DIR}
|
||||
${Boost_LIBRARY_DIRS}
|
||||
)
|
||||
|
||||
add_custom_target(build_json ALL
|
||||
COMMAND ${CMAKE_MAKE_PROGRAM}
|
||||
WORKING_DIRECTORY ${LIBJSON_CODE_DIR}
|
||||
COMMENT "Original libjson makefile target"
|
||||
)
|
||||
|
||||
add_library(json STATIC IMPORTED)
|
||||
set_property(TARGET json APPEND PROPERTY IMPORTED_CONFIGURATIONS NOCONFIG)
|
||||
set_target_properties(json PROPERTIES IMPORTED_LOCATION_NOCONFIG "${LIBJSON_LIB_DIR}/libjson.a")
|
||||
add_dependencies(json build_json)
|
||||
add_subdirectory(libjson)
|
||||
|
||||
add_executable(${PROJECT_NAME}
|
||||
src/main.cpp
|
||||
|
@ -62,5 +53,5 @@ add_executable(${PROJECT_NAME}
|
|||
target_link_libraries(${PROJECT_NAME}
|
||||
${Boost_LIBRARIES}
|
||||
${CURL_LIBRARIES}
|
||||
json
|
||||
libjson
|
||||
)
|
||||
|
|
29
libjson/CMakeLists.txt
Normal file
29
libjson/CMakeLists.txt
Normal file
|
@ -0,0 +1,29 @@
|
|||
project (libjson CXX)
|
||||
|
||||
set (CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -DJSON_DEBUG")
|
||||
set (CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -O2 -g -ffast-math -fexpensive-optimizations -DJSON_DEBUG")
|
||||
set (CMAKE_CXX_FLAGS_FINAL "${CMAKE_CXX_FLAGS_FINAL} -O3 -ffast-math -fexpensive-optimizations")
|
||||
|
||||
set (major_version "7")
|
||||
set (minor_version "6.1")
|
||||
include_directories(
|
||||
.
|
||||
_internal/Source
|
||||
)
|
||||
|
||||
add_library(${PROJECT_NAME} STATIC
|
||||
_internal/Source/JSONAllocator.cpp
|
||||
_internal/Source/JSONChildren.cpp
|
||||
_internal/Source/JSONDebug.cpp
|
||||
_internal/Source/JSONIterators.cpp
|
||||
_internal/Source/JSONMemory.cpp
|
||||
_internal/Source/JSONNode.cpp
|
||||
_internal/Source/JSONNode_Mutex.cpp
|
||||
_internal/Source/JSONPreparse.cpp
|
||||
_internal/Source/JSONStream.cpp
|
||||
_internal/Source/JSONValidator.cpp
|
||||
_internal/Source/JSONWorker.cpp
|
||||
_internal/Source/JSONWriter.cpp
|
||||
_internal/Source/internalJSONNode.cpp
|
||||
_internal/Source/libjson.cpp
|
||||
)
|
Loading…
Add table
Reference in a new issue