|
1 |
| -find_library(OpenSSLLib_PATH NAMES libeay32 crypto PATHS "${PROJECT_SOURCE_DIR}/../openssl" "${PROJECT_SOURCE_DIR}/../lib/openssl" "$ENV{CMAKE_HINT}/openssl" ENV CMAKE_HINT PATH_SUFFIXES "lib" "openssl" "lib/openssl") |
2 |
| -find_path(OpenSSLLib_include_DIR NAMES openssl/rand.h PATHS "${PROJECT_SOURCE_DIR}/../openssl" "${PROJECT_SOURCE_DIR}/../lib/openssl" "$ENV{CMAKE_HINT}/openssl" ENV CMAKE_HINT PATH_SUFFIXES "include" "inc32") |
3 |
| -find_library(XercescppLib_PATH NAMES xerces-c xerces-c_3 PATHS "${PROJECT_SOURCE_DIR}/../xercescpp" "${PROJECT_SOURCE_DIR}/../lib/xercescpp" "$ENV{CMAKE_HINT}/xercescpp" ENV CMAKE_HINT PATH_SUFFIXES "lib") |
4 |
| -find_library(XercescppLib_Debug_PATH NAMES xerces-c xerces-c_3D PATHS "${PROJECT_SOURCE_DIR}/../xercescpp" "${PROJECT_SOURCE_DIR}/../lib/xercescpp" "$ENV{CMAKE_HINT}/xercescpp" ENV CMAKE_HINT PATH_SUFFIXES "lib") |
5 |
| -find_path(XercescppLib_include_DIR NAMES xercesc/dom/DOM.hpp PATHS "${PROJECT_SOURCE_DIR}/../xercescpp" "${PROJECT_SOURCE_DIR}/../lib/xercescpp" "$ENV{CMAKE_HINT}/xercescpp" ENV CMAKE_HINT PATH_SUFFIXES "include") |
6 |
| -set(UseRandomUUID OFF CACHE BOOL "") |
7 |
| - |
8 |
| -# This lib. doesn't export from dll with __declspec(dllexport). So this lib. must be built statically on Windows. |
9 |
| -if(NOT WIN32) |
10 |
| - set(BUILD_SHARED_LIBS true CACHE BOOL "Build shared or static libs?" FORCE) |
11 |
| -endif(NOT WIN32) |
12 |
| - |
13 |
| -# ----------libkumu---------- |
14 |
| -# source |
15 |
| -set(kumu_src KM_fileio.cpp KM_log.cpp KM_prng.cpp KM_util.cpp KM_xml.cpp KM_tai.cpp) |
16 |
| - |
17 |
| -# header |
18 |
| -set(kumu_src ${kumu_src} KM_fileio.h KM_log.h KM_prng.h KM_util.h KM_xml.h KM_tai.h KM_error.h KM_memio.h KM_mutex.h KM_platform.h dirent_win.h) |
19 |
| - |
20 |
| -# ----------libasdcp---------- |
21 |
| -# source |
22 |
| -set(asdcp_src MPEG2_Parser.cpp MPEG.cpp JP2K_Codestream_Parser.cpp JP2K_Sequence_Parser.cpp JP2K.cpp PCM_Parser.cpp Wav.cpp |
23 |
| - TimedText_Parser.cpp KLV.cpp Dict.cpp MXFTypes.cpp MXF.cpp Index.cpp Metadata.cpp AS_DCP.cpp AS_DCP_MXF.cpp AS_DCP_AES.cpp |
24 |
| - h__Reader.cpp h__Writer.cpp AS_DCP_MPEG2.cpp AS_DCP_JP2K.cpp AS_DCP_PCM.cpp AS_DCP_TimedText.cpp PCMParserList.cpp MDD.cpp |
25 |
| - AS_DCP_ATMOS.cpp AS_DCP_DCData.cpp DCData_ByteStream_Parser.cpp DCData_Sequence_Parser.cpp AtmosSyncChannel_Generator.cpp |
26 |
| - AtmosSyncChannel_Mixer.cpp PCMDataProviders.cpp SyncEncoder.c CRC16.c UUIDInformation.c |
| 1 | +cmake_minimum_required(VERSION 2.8) |
| 2 | + |
| 3 | +MESSAGE(STATUS) |
| 4 | +MESSAGE(STATUS "-------------------------------------------------------------------------------") |
| 5 | +MESSAGE(STATUS "Creating ASDCPLIB Library Build Files") |
| 6 | +MESSAGE(STATUS "-------------------------------------------------------------------------------") |
| 7 | + |
| 8 | +#--Version---------------------------------------------------------------------- |
| 9 | +SET(ASDCP_VERSION_MAJOR 1) |
| 10 | +SET(ASDCP_VERSION_MINOR 8) |
| 11 | +SET(ASDCP_VERSION_BUILD 44) |
| 12 | +SET(ASDCP_VERSION "${ASDCP_VERSION_MAJOR}.${ASDCP_VERSION_MINOR}.${ASDCP_VERSION_BUILD}") |
| 13 | +ADD_DEFINITIONS(-DASDCP_VERSION="${ASDCP_VERSION}") |
| 14 | +ADD_DEFINITIONS(-DPACKAGE_VERSION="${ASDCP_VERSION}") |
| 15 | +IF(WIN32) |
| 16 | + SET(PLATFORM "win32") |
| 17 | +ELSEIF(APPLE) |
| 18 | + SET(PLATFORM "osx") |
| 19 | +ELSE() |
| 20 | + SET(PLATFORM "unix") |
| 21 | +ENDIF() |
| 22 | +ADD_DEFINITIONS(-DASDCP_PLATFORM="${PLATFORM}") |
| 23 | +ADD_DEFINITIONS(-DHAVE_EXPAT=1) |
| 24 | +ADD_DEFINITIONS(-DTTMATH_NOASM=1) |
| 25 | +#------------------------------------------------------------------------------- |
| 26 | + |
| 27 | +#--OS specific flags------------------------------------------------------------ |
| 28 | +IF(WIN32) |
| 29 | + SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DKM_WIN32") |
| 30 | + SET(CMAKE_CXX_FLAGS ${CMAKE_C_FLAGS}) |
| 31 | +ENDIF() |
| 32 | +#------------------------------------------------------------------------------- |
| 33 | + |
| 34 | +#--set source files------------------------------------------------------------- |
| 35 | +SET(KUMU_SRC_FILES |
| 36 | + KM_fileio.cpp |
| 37 | + KM_log.cpp |
| 38 | + KM_prng.cpp |
| 39 | + KM_util.cpp |
| 40 | + KM_xml.cpp |
| 41 | + KM_tai.cpp |
27 | 42 | )
|
28 | 43 |
|
29 |
| -# header for deployment (install target) |
30 |
| -set(asdcp_deploy_header AS_DCP.h PCMParserList.h AS_DCP_internal.h KM_error.h KM_fileio.h KM_util.h KM_memio.h KM_tai.h KM_platform.h KM_log.h KM_mutex.h) |
31 |
| - |
32 |
| -# header |
33 |
| -set(asdcp_src ${asdcp_src} Wav.h WavFileWriter.h MXF.h Metadata.h JP2K.h AS_DCP.h AS_DCP_internal.h KLV.h MPEG.h MXFTypes.h MDD.h |
34 |
| - PCMParserList.h S12MTimecode.h AtmosSyncChannel_Generator.h AtmosSyncChannel_Mixer.h PCMDataProviders.h |
35 |
| - SyncEncoder.h SyncCommon.h CRC16.h UUIDInformation.h |
| 44 | +SET(ASDCP_SRC_FILES |
| 45 | + AS_DCP.cpp |
| 46 | + AS_DCP_AES.cpp |
| 47 | + AS_DCP_ATMOS.cpp |
| 48 | + AS_DCP_DCData.cpp |
| 49 | + AS_DCP_JP2K.cpp |
| 50 | + AS_DCP_MPEG2.cpp |
| 51 | + AS_DCP_MXF.cpp |
| 52 | + AS_DCP_PCM.cpp |
| 53 | + AS_DCP_TimedText.cpp |
| 54 | + AtmosSyncChannel_Generator.cpp |
| 55 | + AtmosSyncChannel_Mixer.cpp |
| 56 | + CRC16.c |
| 57 | + DCData_ByteStream_Parser.cpp |
| 58 | + DCData_Sequence_Parser.cpp |
| 59 | + Dict.cpp |
| 60 | + h__Reader.cpp |
| 61 | + h__Writer.cpp |
| 62 | + Index.cpp |
| 63 | + JP2K_Codestream_Parser.cpp |
| 64 | + JP2K.cpp |
| 65 | + JP2K_Sequence_Parser.cpp |
| 66 | + KLV.cpp |
| 67 | + Metadata.cpp |
| 68 | + MDD.cpp |
| 69 | + MPEG2_Parser.cpp |
| 70 | + MPEG.cpp |
| 71 | + MXF.cpp |
| 72 | + MXFTypes.cpp |
| 73 | + PCM_Parser.cpp |
| 74 | + PCMDataProviders.cpp |
| 75 | + PCMParserList.cpp |
| 76 | + SyncEncoder.c |
| 77 | + TimedText_Parser.cpp |
| 78 | + UUIDInformation.c |
| 79 | + Wav.cpp |
36 | 80 | )
|
37 |
| - |
38 |
| -# ----------as02---------- |
39 |
| -# source |
40 |
| -set(as02_src h__02_Reader.cpp h__02_Writer.cpp AS_02_JP2K.cpp AS_02_PCM.cpp ST2052_TextParser.cpp AS_02_TimedText.cpp) |
41 |
| - |
42 |
| -# header for deployment (install target) |
43 |
| -set(as02_deploy_header AS_02.h Metadata.h MXF.h MXFTypes.h KLV.h MDD.h) |
44 |
| - |
45 |
| -# header |
46 |
| -set(as02_src ${as02_src} AS_02.h AS_02_internal.h) |
47 |
| - |
48 |
| - |
49 |
| -include_directories("${PROJECT_SOURCE_DIR}/src" "${OpenSSLLib_include_DIR}" "${XercescppLib_include_DIR}") |
50 |
| - |
51 |
| -add_definitions(/DPACKAGE_VERSION=\"${VERSION_STRING}\" /DHAVE_XERCES_C=1) |
52 |
| -if(WIN32) |
53 |
| - add_definitions(/DKM_WIN32 /D_CONSOLE /DASDCP_PLATFORM=\"win32\" /D_CRT_SECURE_NO_WARNINGS /D_CRT_NONSTDC_NO_WARNINGS) |
54 |
| - set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /SAFESEH:NO") |
55 |
| -elseif(UNIX) |
56 |
| - add_definitions(/DASDCP_PLATFORM=\"unix\") |
57 |
| -endif(WIN32) |
58 |
| - |
59 |
| -if(UseRandomUUID) |
60 |
| - add_definitions(/DCONFIG_RANDOM_UUID=1) |
61 |
| -endif(UseRandomUUID) |
62 |
| - |
63 |
| -set(CMAKE_DEBUG_POSTFIX _d) # Append "_d" if debug lib. |
64 |
| - |
65 |
| -add_library(libkumu ${kumu_src}) |
66 |
| -target_link_libraries(libkumu general "${OpenSSLLib_PATH}" debug "${XercescppLib_Debug_PATH}" optimized "${XercescppLib_PATH}") |
67 |
| -set_target_properties(libkumu PROPERTIES PREFIX "" VERSION ${VERSION_STRING} SOVERSION ${VERSION_MAJOR}) |
68 |
| - |
69 |
| -add_library(libasdcp ${asdcp_src}) |
70 |
| -target_link_libraries(libasdcp general libkumu) |
71 |
| -set_target_properties(libasdcp PROPERTIES PREFIX "" VERSION ${VERSION_STRING} SOVERSION ${VERSION_MAJOR}) |
72 |
| - |
73 |
| -add_library(libas02 ${as02_src}) |
74 |
| -target_link_libraries(libas02 general libasdcp) |
75 |
| -set_target_properties(libas02 PROPERTIES PREFIX "" VERSION ${VERSION_STRING} SOVERSION ${VERSION_MAJOR}) |
76 |
| - |
77 |
| -add_executable(blackwave "blackwave.cpp") |
78 |
| -target_link_libraries(blackwave general libasdcp) |
79 |
| -if(WIN32) |
80 |
| - target_link_libraries(blackwave general Advapi32.lib) |
81 |
| -endif(WIN32) |
82 |
| - |
83 |
| -add_executable(wavesplit "wavesplit.cpp") |
84 |
| -target_link_libraries(wavesplit general libasdcp) |
85 |
| -if(WIN32) |
86 |
| - target_link_libraries(wavesplit general Advapi32.lib) |
87 |
| -endif(WIN32) |
88 |
| - |
89 |
| -add_executable(kmuuidgen "kmuuidgen.cpp") |
90 |
| -target_link_libraries(kmuuidgen general libkumu) |
91 |
| -if(WIN32) |
92 |
| - target_link_libraries(kmuuidgen general Advapi32.lib) |
93 |
| -endif(WIN32) |
94 |
| - |
95 |
| -add_executable(kmrandgen "kmrandgen.cpp") |
96 |
| -target_link_libraries(kmrandgen general libkumu) |
97 |
| -if(WIN32) |
98 |
| - target_link_libraries(kmrandgen general Advapi32.lib) |
99 |
| -endif(WIN32) |
100 |
| - |
101 |
| -add_executable(kmfilegen "kmfilegen.cpp") |
102 |
| -target_link_libraries(kmfilegen general libkumu) |
103 |
| -if(WIN32) |
104 |
| - target_link_libraries(kmfilegen general Advapi32.lib) |
105 |
| -endif(WIN32) |
106 |
| - |
107 |
| -add_executable(klvwalk "klvwalk.cpp") |
108 |
| -target_link_libraries(klvwalk general libasdcp) |
109 |
| -if(WIN32) |
110 |
| - target_link_libraries(klvwalk general Advapi32.lib) |
111 |
| -endif(WIN32) |
112 |
| - |
113 |
| -add_executable(asdcp-test "asdcp-test.cpp") |
114 |
| -target_link_libraries(asdcp-test general libasdcp) |
115 |
| -if(WIN32) |
116 |
| - target_link_libraries(asdcp-test general Advapi32.lib) |
117 |
| -endif(WIN32) |
118 |
| - |
119 |
| -add_executable(asdcp-wrap "asdcp-wrap.cpp") |
120 |
| -target_link_libraries(asdcp-wrap general libasdcp) |
121 |
| -if(WIN32) |
122 |
| - target_link_libraries(asdcp-wrap general Advapi32.lib) |
123 |
| -endif(WIN32) |
124 |
| - |
125 |
| -add_executable(asdcp-unwrap "asdcp-unwrap.cpp") |
126 |
| -target_link_libraries(asdcp-unwrap general libasdcp) |
127 |
| -if(WIN32) |
128 |
| - target_link_libraries(asdcp-unwrap general Advapi32.lib) |
129 |
| -endif(WIN32) |
130 |
| - |
131 |
| -add_executable(asdcp-info "asdcp-info.cpp") |
132 |
| -target_link_libraries(asdcp-info general libasdcp) |
133 |
| -if(WIN32) |
134 |
| - target_link_libraries(asdcp-info general Advapi32.lib) |
135 |
| -endif(WIN32) |
136 |
| - |
137 |
| -add_executable(asdcp-util "asdcp-util.cpp") |
138 |
| -target_link_libraries(asdcp-util general libasdcp) |
139 |
| -if(WIN32) |
140 |
| - target_link_libraries(asdcp-util general Advapi32.lib) |
141 |
| -endif(WIN32) |
142 |
| - |
143 |
| -add_executable(j2c-test "j2c-test.cpp") |
144 |
| -target_link_libraries(j2c-test general libasdcp) |
145 |
| -if(WIN32) |
146 |
| - target_link_libraries(j2c-test general Advapi32.lib) |
147 |
| -endif(WIN32) |
148 |
| - |
149 |
| -add_executable(as-02-wrap "as-02-wrap.cpp") |
150 |
| -target_link_libraries(as-02-wrap general libas02) |
151 |
| -if(WIN32) |
152 |
| - target_link_libraries(as-02-wrap general Advapi32.lib) |
153 |
| -endif(WIN32) |
154 |
| - |
155 |
| -add_executable(as-02-unwrap "as-02-unwrap.cpp") |
156 |
| -target_link_libraries(as-02-unwrap general libas02) |
157 |
| -if(WIN32) |
158 |
| - target_link_libraries(as-02-unwrap general Advapi32.lib) |
159 |
| -endif(WIN32) |
160 |
| - |
161 |
| -add_executable(as-02-info "as-02-info.cpp") |
162 |
| -target_link_libraries(as-02-info general libas02) |
163 |
| -if(WIN32) |
164 |
| - target_link_libraries(as-02-info general Advapi32.lib) |
165 |
| -endif(WIN32) |
166 |
| - |
167 |
| -# add the install target |
168 |
| -install(TARGETS libkumu libasdcp libas02 EXPORT asdcplibtargets RUNTIME DESTINATION bin LIBRARY DESTINATION lib ARCHIVE DESTINATION lib INCLUDES DESTINATION "${OpenSSLLib_include_DIR}" "${XercescppLib_include_DIR}") |
169 |
| -install(TARGETS blackwave wavesplit kmuuidgen kmrandgen kmfilegen klvwalk asdcp-test asdcp-wrap asdcp-unwrap asdcp-info asdcp-util j2c-test as-02-wrap as-02-unwrap as-02-info RUNTIME DESTINATION bin) |
170 |
| -install(FILES ${as02_deploy_header} ${asdcp_deploy_header} DESTINATION include) |
171 |
| -install(EXPORT asdcplibtargets DESTINATION targets) |
| 81 | +#------------------------------------------------------------------------------- |
| 82 | + |
| 83 | +#--compile libraries------------------------------------------------------------ |
| 84 | +SET(ASDCP_LIBRARIES opendcp-asdcp PARENT_SCOPE) |
| 85 | +ADD_LIBRARY(opendcp-asdcp OBJECT ${KUMU_SRC_FILES} ${ASDCP_SRC_FILES}) |
| 86 | +#------------------------------------------------------------------------------- |
| 87 | + |
| 88 | +#--install header--------------------------------------------------------------- |
| 89 | +IF(INSTALL_LIB) |
| 90 | + INSTALL(FILES AS_DCP.h DESTINATION include) |
| 91 | +ENDIF() |
| 92 | +#------------------------------------------------------------------------------- |
0 commit comments