Merge branch 'master' of ssh.marcbarbier.fr:Marc/modmanager into interface
This commit is contained in:
+27
-15
@@ -1,20 +1,34 @@
|
||||
cmake_minimum_required(VERSION 3.10)
|
||||
|
||||
if(NOT CMAKE_BUILD_TYPE)
|
||||
set(CMAKE_BUILD_TYPE Release)
|
||||
endif()
|
||||
|
||||
if(CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
add_link_options(-fsanitize=address)
|
||||
endif()
|
||||
|
||||
set(CMAKE_C_FLAGS "-Wall -Wextra -pedantic -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wmaybe-uninitialized")
|
||||
set(CMAKE_C_FLAGS_DEBUG "-g -fsanitize=address -Werror -O0")
|
||||
set(CMAKE_C_FLAGS_RELEASE "-g")
|
||||
|
||||
# generate the compile_commands for vscode / clang
|
||||
set(CMAKE_EXPORT_COMPILE_COMMANDS ON CACHE INTERNAL "")
|
||||
|
||||
# set the project name
|
||||
project(ModManager)
|
||||
project(mod-manager)
|
||||
|
||||
|
||||
set(SOURCES
|
||||
src/steam.c
|
||||
src/loadOrder.c
|
||||
src/install.c
|
||||
src/overlayfs.c
|
||||
src/getDataPath.c
|
||||
src/getHome.c
|
||||
src/file.c
|
||||
src/order.c
|
||||
src/archives.c
|
||||
src/fomod.c
|
||||
src/fomod/group.c
|
||||
src/fomod/xmlUtil.c
|
||||
@@ -23,9 +37,7 @@ set(SOURCES
|
||||
)
|
||||
|
||||
# add the executable
|
||||
add_executable(ModManager src/main.c ${SOURCES})
|
||||
|
||||
add_compile_options(-Wall -Wextra -pedantic -Werror)
|
||||
add_executable(mod-manager src/main.c ${SOURCES})
|
||||
|
||||
find_package(PkgConfig REQUIRED)
|
||||
pkg_search_module(GLIB REQUIRED glib-2.0)
|
||||
@@ -33,17 +45,17 @@ pkg_search_module(AUDIT REQUIRED audit)
|
||||
pkg_search_module(LIBXML REQUIRED libxml-2.0)
|
||||
pkg_search_module(GTK REQUIRED gtk4)
|
||||
|
||||
target_include_directories(ModManager PRIVATE ${GLIB_INCLUDE_DIRS})
|
||||
target_include_directories(ModManager PRIVATE ${LIBXML_INCLUDE_DIRS})
|
||||
target_include_directories(ModManager PRIVATE ${AUDIT_INCLUDE_DIRS})
|
||||
target_include_directories(ModManager PRIVATE ${GTK_INCLUDE_DIRS})
|
||||
target_include_directories(mod-manager PRIVATE ${GLIB_INCLUDE_DIRS})
|
||||
target_include_directories(mod-manager PRIVATE ${LIBXML_INCLUDE_DIRS})
|
||||
target_include_directories(mod-manager PRIVATE ${AUDIT_INCLUDE_DIRS})
|
||||
target_include_directories(mod-manager PRIVATE ${GTK_INCLUDE_DIRS})
|
||||
|
||||
add_compile_options(-fsanitize=address)
|
||||
add_link_options(-fsanitize=address)
|
||||
|
||||
target_link_libraries(ModManager ${GLIB_LDFLAGS})
|
||||
target_link_libraries(ModManager ${LIBXML_LIBRARIES})
|
||||
target_link_libraries(ModManager ${AUDIT_LIBRARIES})
|
||||
target_link_libraries(ModManager ${GTK_LIBRARIES})
|
||||
target_link_libraries(mod-manager ${GLIB_LDFLAGS})
|
||||
target_link_libraries(mod-manager ${LIBXML_LIBRARIES})
|
||||
target_link_libraries(mod-manager ${AUDIT_LIBRARIES})
|
||||
target_link_libraries(mod-manager ${GTK_LIBRARIES})
|
||||
|
||||
install(TARGETS ModManager DESTINATION bin)
|
||||
install(TARGETS mod-manager DESTINATION bin)
|
||||
|
||||
set_property(TARGET mod-manager PROPERTY C_STANDARD 23)
|
||||
|
||||
Reference in New Issue
Block a user