foreach(target_lib ${TARGET_LIBS})
    set_target_properties(${target_lib} PROPERTIES COMPILE_DEFINITIONS "SOL_EXPORTS;JSON_DLL_BUILD")
    list(APPEND TARGETS ${target_lib})
endforeach()

# ========================== build platform ==========================
message(STATUS "")
message(STATUS "  Platform:")
if(CMAKE_CROSSCOMPILING)
    message(STATUS "    Target:"         ${CMAKE_SYSTEM_NAME} ${CMAKE_SYSTEM_VERSION} ${CMAKE_SYSTEM_PROCESSOR})
endif()
message(STATUS "    CMake:"            ${CMAKE_VERSION})
message(STATUS "    CMake generator:"  ${CMAKE_GENERATOR})

if(NOT ${CMAKE_GENERATOR} MATCHES "Xcode")
    message(STATUS "    Configuration:"  ${CMAKE_BUILD_TYPE})
endif()

message(STATUS "")
message(STATUS "  C:")
message(STATUS "    C Compiler:"           ${CMAKE_C_COMPILER})
message(STATUS "    C flags: "    ${CMAKE_C_FLAGS})
message(STATUS "    C flags (Release):"       ${CMAKE_C_FLAGS_RELEASE})
message(STATUS "    C flags (Debug):"         ${CMAKE_C_FLAGS_DEBUG})
message(STATUS "")
message(STATUS "  C++:")
message(STATUS "    C++ Compiler:"           ${CMAKE_CXX_COMPILER})
message(STATUS "    C++ flags: "    ${CMAKE_CXX_FLAGS})
message(STATUS "    C++ flags (Release):"    ${CMAKE_CXX_FLAGS_RELEASE})
message(STATUS "    C++ flags (Debug):"       ${CMAKE_CXX_FLAGS_DEBUG})
if(WIN32)
    message(STATUS "    Linker flags (Release):"  ${CMAKE_SHARED_LINKER_FLAGS_RELEASE})
    message(STATUS "    Linker flags (Debug):"    ${CMAKE_SHARED_LINKER_FLAGS_DEBUG})
endif()

#message(STATUS "    Linked Libraries"       ${LINKED_LIBS})
