Professional Documents
Culture Documents
6)
if (NOT CMAKE_BUILD_TYPE)
message(WARNING "No build type selected, defaulting to Debug")
set(CMAKE_BUILD_TYPE "Debug")
endif()
set(XMP_BUILD_STATIC "1")
# Our project
project(sjcam_raw2dng)
set(SRC_DIR src)
add_definitions(-DqDNGThreadSafe)
if (CMAKE_CL_64)
add_definitions(-DqDNG64Bit)
endif (CMAKE_CL_64)
if (UNIX)
if (APPLE)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DqMacOS=1 -DqWinOS=0 -DqLinux=0")
else()
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wl,-z,relro -Wl,-z,now -Wl,-
z,noexecstack")
set(warning_flags "-Wall \
-Wsign-compare \
-Wclobbered \
-Wempty-body \
-Wignored-qualifiers \
-Wsign-compare \
-Wtype-limits \
-Wunused-but-set-parameter \
-Wconversion \
-Winit-self \
-Wno-unused-function")
set(CMAKE_CXX_FLAGS_DEBUG "${warning_flags} \
-O0 \
-ggdb \
-DqDNGDebug=1 \
-D_FORTIFY_SOURCE=2")
set(CMAKE_CXX_FLAGS_RELEASE "${warning_flags} \
-O2 \
-DNDEBUG \
-U_FORTIFY_SOURCE")
endif (APPLE)
endif()
if (MSVC)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /DqMacOS=0 /DqWinOS=1 /DqLinux=0
/D_CRT_SECURE_NO_DEPRECATE /DqDNGXMPDocOps=0")
endif(MSVC)
set(target sjcam_raw2dng)
add_executable(${target} ${SRC_DIR}/CFAReader.cpp
${SRC_DIR}/DNGConverter.cpp
${SRC_DIR}/CameraProfile.cpp
${SRC_DIR}/FileFinder.cpp
${SRC_DIR}/utils.cpp
${SRC_DIR}/StopWatch.cpp
${SRC_DIR}/sjcam_raw2dng.cpp)
if (UNIX)
if (APPLE)
set_property(TARGET ${target} PROPERTY LINK_FLAGS "-framework
CoreFoundation -framework CoreServices")
endif (APPLE)
target_link_libraries(${target}
dng_sdk
pthread
dl
XMPFilesStatic
XMPCoreStatic
jpeg
dl
)
endif(UNIX)
if (MSVC)
target_link_libraries(${target}
dng_sdk
XMPFilesStatic
XMPCoreStatic
jpeg
)
endif(MSVC)
set(target prune_raw)
add_executable(${target} ${SRC_DIR}/prune_raw.cpp
${SRC_DIR}/FileFinder.cpp
${SRC_DIR}/utils.cpp)
set(target extract_xmp)
add_executable(${target} ${SRC_DIR}/extract_xmp.cpp)
target_include_directories(${target} PUBLIC ${SRC_DIR}
${XMPROOT}/public/include)
if (UNIX)
target_link_libraries(${target}
pthread
dl
XMPFilesStatic
XMPCoreStatic
dl
)
if (APPLE)
set_target_properties(${target} PROPERTIES COMPILE_FLAGS "-DMAC_ENV=1")
else()
set_target_properties(${target} PROPERTIES COMPILE_FLAGS "-DUNIX_ENV=1")
endif(APPLE)
endif(UNIX)
if (MSVC)
target_link_libraries(${target}
XMPFilesStatic
XMPCoreStatic
)
set_target_properties(${target} PROPERTIES COMPILE_FLAGS "/DWIN_ENV=1")
endif(MSVC)