Update README.md
[mfgtools.git] / libuuu / CMakeLists.txt
blob20a1b0fba5abdc729b3eeb600d3a896d62f4cf92
1 cmake_minimum_required(VERSION 3.4)
3 set(CMAKE_CXX_STANDARD 14)
4 set(CMAKE_CXX_STANDARD_REQUIRED ON)
5 set(CMAKE_SKIP_RPATH ON)
7 find_package(BZip2 REQUIRED)
8 find_package(PkgConfig REQUIRED)
9 pkg_check_modules(LIBUSB REQUIRED libusb-1.0>=1.0.16)
10 pkg_check_modules(LIBZSTD REQUIRED libzstd)
11 find_package(Threads)
12 pkg_check_modules(TINYXML2 REQUIRED tinyxml2)
14 if (STATIC)
15 set(OPENSSL_USE_STATIC_LIBS TRUE)
16 endif()
18 find_package(OpenSSL)
20 if(OPENSSL_FOUND)
21 set(UUUSSL "-DUUUSSL")
22 set(UUUOPENSLL_INCLUDE_DIR ${OPENSSL_INCLUDE_DIR})
23 endif()
25 include_directories(${LIBUSB_INCLUDE_DIRS} ${LIBZSTD_INCLUDE_DIRS} ${UUUOPENSLL_INCLUDE_DIR} ${TINYXML2_INCLUDE_DIRS} include)
28 if (FORCE_OLD)
29 set(FORCE_OLDLIBUSB "-DFORCE_OLDLIBUSB")
30 endif()
32 set(CMAKE_CXX_FLAGS_DEBUG "-g -Wall -Wstrict-aliasing -Wextra ${UUUSSL} ${FORCE_OLDLIBUSB}")
33 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}  ${UUUSSL} ${FORCE_OLDLIBUSB}")
35 set(SOURCES
36         error.cpp
37         buffer.cpp
38         cmd.cpp
39         config.cpp
40         notify.cpp
41         sdps.cpp
42         trans.cpp
43         usbhotplug.cpp
44         version.cpp
45         sdp.cpp
46         gitversion.h
47         fastboot.cpp
48         zip.cpp
49         fat.cpp
50         tar.cpp
51         rominfo.cpp
52         http.cpp
53         hidreport.cpp
54         sparse.cpp
55         bmap.cpp
58 set(generated_files_dir "${CMAKE_BINARY_DIR}/libuuu/gen")
59 set(gitversion_h "${generated_files_dir}/gitversion.h")
61 add_custom_command(
62         OUTPUT gitversion.h
63         PRE_BUILD
64         COMMAND mkdir -p ${generated_files_dir}
65         COMMAND sh -c 'cd ${CMAKE_CURRENT_SOURCE_DIR} && rm -f ${gitversion_h} && ./gen_ver.sh "${gitversion_h}.tmp" && mv -f "${gitversion_h}.tmp" "${gitversion_h}"'
68 include_directories(${generated_files_dir})
70 #add_library( uuc SHARED ${SOURCES} ))
71 add_library( uuc_s STATIC ${SOURCES} )