1+ cmake_minimum_required (VERSION 3.25)
12project (bncsutil)
2- cmake_minimum_required (VERSION 3.2)
33
44set (CMAKE_MODULE_PATH ${CMAKE_BINARY_DIR} "${PROJECT_SOURCE_DIR} /CMake/Modules" )
55message (${CMAKE_BINARY_DIR} )
66
77SET (VERSION_MAJOR "1" )
88SET (VERSION_MINOR "4" )
9- SET (VERSION_PATCH "1" )
10-
11- file (GLOB SOURCE
12- "src/bncsutil/*.cpp"
13- "src/bncsutil/*.c"
9+ SET (VERSION_PATCH "2" )
10+
11+ add_library (bncsutil SHARED)
12+
13+ set (HEADERS
14+ "src/bncsutil/bncsutil.h"
15+ "src/bncsutil/bsha1.h"
16+ "src/bncsutil/buffer.h"
17+ "src/bncsutil/cdkeydecoder.h"
18+ "src/bncsutil/checkrevision.h"
19+ "src/bncsutil/decodekey.h"
20+ "src/bncsutil/file.h"
21+ "src/bncsutil/keytables.h"
22+ "src/bncsutil/libinfo.h"
23+ "src/bncsutil/ms_stdint.h"
24+ "src/bncsutil/mutil.h"
25+ "src/bncsutil/mutil_types.h"
26+ "src/bncsutil/nls.h"
27+ "src/bncsutil/oldauth.h"
28+ "src/bncsutil/pe.h"
29+ "src/bncsutil/sha1.h"
30+ "src/bncsutil/stack.h"
1431)
15- file (GLOB HEADERS
16- "src/bncsutil/*.h"
32+
33+ set (SOURCES
34+ "src/bncsutil/bsha1.cpp"
35+ "src/bncsutil/cdkeydecoder.cpp"
36+ "src/bncsutil/checkrevision.cpp"
37+ "src/bncsutil/decodekey.cpp"
38+ "src/bncsutil/file.cpp"
39+ "src/bncsutil/libinfo.cpp"
40+ "src/bncsutil/oldauth.cpp"
41+ "src/bncsutil/sha1.c"
1742)
1843
19- add_library ( ${PROJECT_NAME} ${SOURCE } ${HEADERS} )
44+ target_sources (bncsutil PRIVATE ${SOURCES } ${HEADERS} )
2045
2146if (WIN32 )
22- set (USE_GMP 0)
47+ set (USE_SYSTEM_LIBS 0)
48+ else ()
49+ set (USE_SYSTEM_LIBS 1)
2350endif ()
2451
2552if (CMAKE_GENERATOR_PLATFORM EQUAL "x86" )
26- set_target_properties (${PROJECT_NAME} PROPERTIES COMPILE_FLAGS "-m32" LINK_FLAGS "-m32" )
53+ set_target_properties (bncsutil PROPERTIES COMPILE_FLAGS "-m32" LINK_FLAGS "-m32" )
2754 MESSAGE (STATUS "Excluding 64bit library paths from search." )
2855 set_property (GLOBAL PROPERTY FIND_LIBRARY_USE_LIB64_PATHS OFF )
2956 set (ARCH_DEB i386)
3057 set (ARCH_RPM i686)
3158elseif (CMAKE_GENERATOR_PLATFORM EQUAL "x64" )
32- set_target_properties (${PROJECT_NAME} PROPERTIES COMPILE_FLAGS "-m64" LINK_FLAGS "-m64" )
59+ set_target_properties (bncsutil PROPERTIES COMPILE_FLAGS "-m64" LINK_FLAGS "-m64" )
3360 set (ARCH_DEB amd64)
3461 set (ARCH_RPM x86_64)
3562else ()
@@ -38,27 +65,22 @@ else()
3865endif ()
3966
4067if (USE_SYSTEM_LIBS)
68+ message ("Using system dependencies" )
4169 find_package (GMP REQUIRED)
42- include_directories ( src ${GMP_INCLUDE_DIR} )
43- target_link_libraries (${PROJECT_NAME} ${GMP_LIBRARIES} )
70+ target_include_directories (bncsutil PRIVATE src ${GMP_INCLUDE_DIR} )
71+ target_link_libraries (bncsutil ${GMP_LIBRARIES} )
4472else ()
45- if (USE_GMP)
46- find_package (gmp REQUIRED)
47- target_include_directories (${PROJECT_NAME} PRIVATE src gmp:gmp)
48- target_link_libraries (${PROJECT_NAME} PRIVATE gmp:gmp)
49- else ()
50- find_package (mpir REQUIRED)
51- target_include_directories (${PROJECT_NAME} PRIVATE src mpir::mpir)
52- target_link_libraries (${PROJECT_NAME} PRIVATE mpir::mpir)
53- add_definitions (-DUSE_MPIR=1)
54- endif ()
73+ message ("Using conan dependencies" )
74+ find_package (gmp REQUIRED)
75+ target_include_directories (bncsutil PRIVATE src gmp::gmp)
76+ target_link_libraries (bncsutil PRIVATE gmp::gmp)
5577endif ()
5678
57- set_target_properties (${PROJECT_NAME} PROPERTIES OUTPUT_NAME bncsutil)
79+ set_target_properties (bncsutil PROPERTIES OUTPUT_NAME bncsutil)
5880
5981if (UNIX )
60- set_target_properties (${PROJECT_NAME} PROPERTIES VERSION "${VERSION_MAJOR} .${VERSION_MINOR} .${VERSION_PATCH} " )
61- set_target_properties (${PROJECT_NAME} PROPERTIES SOVERSION 1)
82+ set_target_properties (bncsutil PROPERTIES VERSION "${VERSION_MAJOR} .${VERSION_MINOR} .${VERSION_PATCH} " )
83+ set_target_properties (bncsutil PROPERTIES SOVERSION 1)
6284
6385 set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -O3 -Wno-multichar -fPIC" )
6486 set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -O3 -Wno-multichar -fPIC" )
@@ -77,7 +99,7 @@ install(FILES ${HEADERS} DESTINATION include/bncsutil)
7799
78100#CPack configurtion
79101SET (CPACK_GENERATOR "DEB" "RPM" )
80- SET (CPACK_PACKAGE_NAME ${PROJECT_NAME} )
102+ SET (CPACK_PACKAGE_NAME "bncsutil" )
81103SET (CPACK_PACKAGE_DESCRIPTION_SUMMARY "Battle.Net Chat Service Utility" )
82104SET (CPACK_PACKAGE_VENDOR "bncsutil" )
83105SET (CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_CURRENT_SOURCE_DIR} /README.md" )
@@ -96,7 +118,7 @@ SET(CPACK_DEBIAN_PACKAGE_DEPENDS "libgmp10")
96118#RPM configuration
97119SET (CPACK_RPM_PACKAGE_RELEASE 1)
98120SET (CPACK_RPM_PACKAGE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR} /COPYING" )
99- SET (CPACK_RPM_PACKAGE_GROUP "${PROJECT_NAME} " )
121+ SET (CPACK_RPM_PACKAGE_GROUP "bncsutil " )
100122SET (CPACK_RPM_PACKAGE_URL "https://github.com/BNETDocs/bncsutil" )
101123SET (CPACK_RPM_PACKAGE_REQUIRES "gmp" )
102124SET (CPACK_RPM_PACKAGE_ARCHITECTURE ${ARCH_RPM} )
0 commit comments