-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCMakeLists.txt
35 lines (31 loc) · 1.58 KB
/
CMakeLists.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
cmake_minimum_required( VERSION 3.1 )
project( DLIB_EM )
set( CMAKE_CXX_STANDARD 17 )
set(COMPRESSION_DEBUG_FLAG " -O0 ")
set(COMPRESSION_RELEASE_FLAG " -Oz ")
#set(DEBUG_DEFINES " -DDEBUG_EM ")
set(DEBUG_FLAGS " -g -sASSERTIONS=1 --profiling -s DEMANGLE_SUPPORT=1 ")
set(MEMORY_OPTION " -s TOTAL_MEMORY=268435456 -s ALLOW_MEMORY_GROWTH=1 ")
set(FLAGS " -s USE_LIBJPEG=1 -sFORCE_FILESYSTEM -s EXPORTED_RUNTIME_METHODS=['FS'] -DDLIB_JPEG_SUPPORT ")
set(INCLUDES " -I../emscripten/dlib ")
set(SRC " ../src/image_example.cpp ")
set(LINK_LIBS " ../build/emscripten/dlib/dlib/libdlib.a ")
add_subdirectory(emscripten/dlib)
include_directories(emscripten/dlib)
include_directories(src/include)
# different commands for Debug or Release mode.
if(CMAKE_BUILD_TYPE STREQUAL Release)
add_executable(dlib_em emscripten/bindings/dlib_em.cpp )
set_target_properties(dlib PROPERTIES LINK_FLAGS " -sFORCE_FILESYSTEM ")
add_dependencies(dlib_em dlib)
target_link_libraries(dlib_em ${dlib} )
set_target_properties(dlib_em PROPERTIES LINK_FLAGS " ${COMPRESSION_RELEASE_FLAG} ${MEMORY_OPTION} ${INCLUDES} ${SRC} ${LINK_LIBS} --bind ${FLAGS} ")
elseif(CMAKE_BUILD_TYPE STREQUAL Debug)
set(CMAKE_CXX_FLAGS " ${DEBUG_DEFINES} ")
add_executable(dlib_em_debug emscripten/bindings/dlib_em.cpp )
add_dependencies(dlib_em_debug dlib)
target_link_libraries(dlib_em_debug ${dlib} )
set_target_properties(dlib_em_debug PROPERTIES LINK_FLAGS " ${COMPRESSION_DEBUG_FLAG} ${MEMORY_OPTION} ${DEBUG_FLAGS} ${INCLUDES} ${SRC} ${LINK_LIBS} --bind ${FLAGS} ")
else()
message("Unsupported build type")
endif()