diff options
author | Jan200101 <sentrycraft123@gmail.com> | 2021-11-07 17:21:02 +0100 |
---|---|---|
committer | Jan200101 <sentrycraft123@gmail.com> | 2021-11-07 17:21:02 +0100 |
commit | 654b24b37c2e657a67060e45bfd8fb6495bd7dff (patch) | |
tree | 7186ca7cb2c2fda6a41230219fba505e5e49b365 /src | |
parent | 34290dfd1377a410b3fea96eb855fd4325a2c269 (diff) | |
download | polecat-654b24b37c2e657a67060e45bfd8fb6495bd7dff.tar.gz polecat-654b24b37c2e657a67060e45bfd8fb6495bd7dff.zip |
cleanup, make main components optional at compile time
Diffstat (limited to 'src')
-rw-r--r-- | src/CMakeLists.txt | 36 | ||||
-rw-r--r-- | src/command.h | 1 | ||||
-rw-r--r-- | src/defines.h | 6 | ||||
-rw-r--r-- | src/lutris.c | 8 | ||||
-rw-r--r-- | src/main.c | 24 |
5 files changed, 51 insertions, 24 deletions
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index b982b32..72c4a76 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -6,8 +6,27 @@ set(MAINSOURCES ${CMAKE_CURRENT_SOURCE_DIR}/common.h ${CMAKE_CURRENT_SOURCE_DIR}/config.c ${CMAKE_CURRENT_SOURCE_DIR}/config.h + ${CMAKE_CURRENT_SOURCE_DIR}/main.c + ${CMAKE_CURRENT_SOURCE_DIR}/main.h + ${CMAKE_CURRENT_SOURCE_DIR}/net.c + ${CMAKE_CURRENT_SOURCE_DIR}/net.h + ${CMAKE_CURRENT_SOURCE_DIR}/tar.c + ${CMAKE_CURRENT_SOURCE_DIR}/tar.h +) + +if(ENABLE_DXVK) +add_compile_definitions(DXVK_ENABLED) +set(MAINSOURCES + ${MAINSOURCES} ${CMAKE_CURRENT_SOURCE_DIR}/dxvk.c ${CMAKE_CURRENT_SOURCE_DIR}/dxvk.h +) +endif() + +if(ENABLE_LUTRIS) +add_compile_definitions(LUTRIS_ENABLED) +set(MAINSOURCES + ${MAINSOURCES} ${CMAKE_CURRENT_SOURCE_DIR}/lutris.c ${CMAKE_CURRENT_SOURCE_DIR}/lutris.h ${CMAKE_CURRENT_SOURCE_DIR}/lutris/array.h @@ -15,15 +34,12 @@ set(MAINSOURCES ${CMAKE_CURRENT_SOURCE_DIR}/lutris/keyword.h ${CMAKE_CURRENT_SOURCE_DIR}/lutris/runner.h ${CMAKE_CURRENT_SOURCE_DIR}/lutris/task.h - ${CMAKE_CURRENT_SOURCE_DIR}/main.c - ${CMAKE_CURRENT_SOURCE_DIR}/main.h - ${CMAKE_CURRENT_SOURCE_DIR}/net.c - ${CMAKE_CURRENT_SOURCE_DIR}/net.h - ${CMAKE_CURRENT_SOURCE_DIR}/tar.c - ${CMAKE_CURRENT_SOURCE_DIR}/tar.h ) +endif() -if (NOT WIN32) + +if (ENABLE_WINE AND NOT WIN32) +add_compile_definitions(WINE_ENABLED) set(MAINSOURCES ${MAINSOURCES} ${CMAKE_CURRENT_SOURCE_DIR}/wine.c @@ -41,24 +57,24 @@ set(CFLAGS -Winit-self -Wcast-align -Wpointer-arith -Wmissing-declarations -Wmissing-include-dirs -Wno-unused-parameter -Wuninitialized + ${LIBCURL_CFLAGS} ${JSONC_CFLAGS} ${LIBARCHIVE_CFLAGS} - ${LIBCURL_CFLAGS} ) add_library(core OBJECT ${MAINSOURCES}) +target_include_directories(core PUBLIC ${LIBCURL_INCLUDE_DIRS}) target_include_directories(core PUBLIC ${JSONC_INCLUDE_DIRS}) target_include_directories(core PUBLIC ${LIBARCHIVE_INCLUDE_DIRS}) -target_include_directories(core PUBLIC ${LIBCURL_INCLUDE_DIRS}) target_compile_options(core PUBLIC ${CFLAGS}) add_executable(${CMAKE_PROJECT_NAME} $<TARGET_OBJECTS:core>) +target_link_libraries(${CMAKE_PROJECT_NAME} LINK_PUBLIC ${LIBCURL_LIBRARIES}) target_link_libraries(${CMAKE_PROJECT_NAME} LINK_PUBLIC ${JSONC_LIBRARIES}) target_link_libraries(${CMAKE_PROJECT_NAME} LINK_PUBLIC ${LIBARCHIVE_LIBRARIES}) -target_link_libraries(${CMAKE_PROJECT_NAME} LINK_PUBLIC ${LIBCURL_LIBRARIES}) install(TARGETS ${CMAKE_PROJECT_NAME}) diff --git a/src/command.h b/src/command.h index 8a7c101..0f631a4 100644 --- a/src/command.h +++ b/src/command.h @@ -2,6 +2,7 @@ #define COMMAND_H #include <stdio.h> +#include <string.h> #include "common.h" /* diff --git a/src/defines.h b/src/defines.h index 5b37427..eb9989f 100644 --- a/src/defines.h +++ b/src/defines.h @@ -8,9 +8,9 @@ #define WINE_API LUTRIS_API "/runners/wine" #define DXVK_API GITHUB_API"/repos/lutris/dxvk/releases" #define INSTALLER_API LUTRIS_API "/installers/" -#define GAME_API LUTRIS_API "/games" -#define GAME_SEARCH_API GAME_API "?search=%s" -#define GAME_INSTALLER_API GAME_API "/%s/installers" +#define LUTRIS_GAME_API LUTRIS_API "/games" +#define LUTRIS_GAME_SEARCH_API LUTRIS_GAME_API "?search=%s" +#define LUTRIS_GAME_INSTALLER_API LUTRIS_GAME_API "/%s/installers" #ifndef NAME diff --git a/src/lutris.c b/src/lutris.c index abef447..3f20f37 100644 --- a/src/lutris.c +++ b/src/lutris.c @@ -49,8 +49,8 @@ COMMAND(lutris, search) str = realloc(str, allocsize); if (!str) return 1; lutris_escapeString(str, allocsize); - char* url = malloc(strlen(GAME_SEARCH_API) + strlen(str)); - sprintf(url, GAME_SEARCH_API, str); + char* url = malloc(strlen(LUTRIS_GAME_SEARCH_API) + strlen(str)); + sprintf(url, LUTRIS_GAME_SEARCH_API, str); struct json_object* queryresult = fetchJSON(url); free(str); @@ -103,8 +103,8 @@ COMMAND(lutris, list) str = realloc(str, allocsize); if (!str) return 1; lutris_escapeString(str, allocsize); - char* url = malloc(strlen(GAME_INSTALLER_API) + strlen(str)); - sprintf(url, GAME_INSTALLER_API, str); + char* url = malloc(strlen(LUTRIS_GAME_INSTALLER_API) + strlen(str)); + sprintf(url, LUTRIS_GAME_INSTALLER_API, str); struct json_object* queryresult = fetchJSON(url); free(str); @@ -4,13 +4,19 @@ #include <libgen.h> #include "main.h" +#ifdef WINE_ENABLED #include "wine.h" +#endif +#ifdef DXVK_ENABLED #include "dxvk.h" +#endif +#ifdef LUTRIS_ENABLED #include "lutris.h" +#endif #include "common.h" #include "config.h" -#ifndef _WIN32 +#ifndef WINE_ENABLED // if something fails // we need to free the new argv char** nargv; @@ -18,12 +24,16 @@ static void free_nargv() { free(nargv); } #endif static const struct Command main_commands[] = { -#ifndef _WIN32 - { .name = "wine", .func = winecmd, .description = "manage wine versions" }, +#ifdef WINE_ENABLED + { .name = "wine", .func = winecmd, .description = "manage wine versions" }, +#endif +#ifdef DXVK_ENABLED + { .name = "dxvk", .func = dxvk, .description = "manage DXVK versions" }, +#endif +#ifdef LUTRIS_ENABLED + { .name = "lutris", .func = lutris, .description = "run lutris instraller"}, #endif - { .name = "dxvk", .func = dxvk, .description = "manage DXVK versions" }, - { .name = "lutris", .func = lutris, .description = "run lutris instraller"}, - { .name = "env", .func = main_env, .description = "show some information about polecat" }, + { .name = "env", .func = main_env, .description = "show some information about polecat" }, }; static const struct Flag main_flags[] = { @@ -33,7 +43,7 @@ static const struct Flag main_flags[] = { COMMAND_GROUP(main) { -#ifndef _WIN32 +#ifndef WINE_ENABLED char* arg0 = basename(argv[0]); if (!strncmp(WINE_PREFIX, arg0, strlen(WINE_PREFIX))) { |