Changed install to source based
This commit is contained in:
parent
9d59f4be23
commit
eaf27e05c6
@ -1,15 +1,8 @@
|
|||||||
|
|
||||||
##
|
|
||||||
# Welcome to the cmake lists file, this controls how nekohook will build for your system
|
|
||||||
##
|
|
||||||
|
|
||||||
cmake_minimum_required(VERSION 3.14)
|
cmake_minimum_required(VERSION 3.14)
|
||||||
project(nekohook CXX)
|
project(nekohook CXX)
|
||||||
|
|
||||||
# Settings
|
add_subdirectory("${CMAKE_CURRENT_LIST_DIR}/cmake")
|
||||||
set(NEKOHOOK_BUILD_SHARED OFF CACHE BOOL "Build the shared library")
|
add_subdirectory("${CMAKE_CURRENT_LIST_DIR}/src")
|
||||||
set(NEKOHOOK_BUILD_STATIC ON CACHE BOOL "Build the static library")
|
|
||||||
set(NEKOHOOK_GFX opengl CACHE STRING "Graphics api to use: none;opengl")
|
include("${CMAKE_CURRENT_SOURCE_DIR}/cmake/AddNekohook.cmake")
|
||||||
set(NEKOHOOK_X86 OFF CACHE BOOL "Build x86 libraries for x86_64")
|
|
||||||
# Lib itself
|
|
||||||
add_subdirectory("${CMAKE_CURRENT_SOURCE_DIR}/src/")
|
|
||||||
|
14
cmake/AddNekohook.cmake
Normal file
14
cmake/AddNekohook.cmake
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
|
||||||
|
function(AddNekohook name)
|
||||||
|
set(target "nekohook-${name}")
|
||||||
|
|
||||||
|
add_library("${target}" SHARED ${NEKOHOOK_SOURCES} ${ARGN})
|
||||||
|
set_property(TARGET "${target}" PROPERTY INTERPROCEDURAL_OPTIMIZATION TRUE)
|
||||||
|
set_property(TARGET "${target}" PROPERTY CXX_STANDARD 20)
|
||||||
|
|
||||||
|
target_include_directories("${target}" PRIVATE "${NEKOHOOK_SRC_DIR}")
|
||||||
|
target_include_directories("${target}" PRIVATE "${NEKOHOOK_SRC_DIR}/nekohook")
|
||||||
|
if (UNIX AND NOT APPLE)
|
||||||
|
target_link_libraries("${target}" PRIVATE rt pthread)
|
||||||
|
endif ()
|
||||||
|
endfunction(AddNekohook)
|
13
cmake/CMakeLists.txt
Normal file
13
cmake/CMakeLists.txt
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
include(CMakePackageConfigHelpers)
|
||||||
|
configure_package_config_file(NekohookConfig.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/NekohookConfig.cmake
|
||||||
|
INSTALL_DESTINATION lib/cmake/Nekohook
|
||||||
|
PATH_VARS CMAKE_INSTALL_PREFIX)
|
||||||
|
install(FILES AddNekohook.cmake ${CMAKE_CURRENT_BINARY_DIR}/NekohookConfig.cmake DESTINATION lib/cmake/Nekohook)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
5
cmake/NekohookConfig.cmake.in
Normal file
5
cmake/NekohookConfig.cmake.in
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
set(NEKOHOOK_SRC_DIR "@CMAKE_INSTALL_PREFIX@/src")
|
||||||
|
include("@CMAKE_INSTALL_PREFIX@/src/nekohook/CMakeLists.txt")
|
||||||
|
include("@CMAKE_INSTALL_PREFIX@/src/psudocrt/CMakeLists.txt")
|
||||||
|
#set(NEKOHOOK_SOURCES "${NEKOHOOK_SOURCES}" PARENT_SCOPE)
|
||||||
|
include("@CMAKE_INSTALL_PREFIX@/lib/cmake/Nekohook/AddNekohook.cmake")
|
@ -1,5 +0,0 @@
|
|||||||
|
|
||||||
function(nekohook_link_libraries)
|
|
||||||
|
|
||||||
|
|
||||||
endfunction(nekohook_link_libraries)
|
|
@ -1,10 +0,0 @@
|
|||||||
|
|
||||||
check_ipo_supported()
|
|
||||||
|
|
||||||
function(internal_nekohook_link_libraries)
|
|
||||||
|
|
||||||
if(NEKOHOOK_BUILD_SHARED=true shared_library)
|
|
||||||
set_property(TARGET nekohook-static PROPERTY INTERPROCEDURAL_OPTIMIZATION TRUE)
|
|
||||||
set_property(TARGET nekohook-shared PROPERTY CXX_STANDARD 17)
|
|
||||||
|
|
||||||
endfunction(internal_nekohook_link_libraries)
|
|
@ -1,4 +1,9 @@
|
|||||||
|
|
||||||
add_subdirectory("${CMAKE_CURRENT_SOURCE_DIR}/psudocrt/")
|
add_subdirectory("${CMAKE_CURRENT_SOURCE_DIR}/psudocrt/")
|
||||||
|
|
||||||
add_subdirectory("${CMAKE_CURRENT_SOURCE_DIR}/nekohook/")
|
add_subdirectory("${CMAKE_CURRENT_SOURCE_DIR}/nekohook/")
|
||||||
#add_subdirectory("${CMAKE_CURRENT_SOURCE_DIR}/dummy/")
|
set(NEKOHOOK_SRC_ROOT "${CMAKE_CURRENT_LIST_DIR}" PARENT_SCOPE)
|
||||||
|
#set(NEKOHOOK_SOURCES "${sources}" PARENT_SCOPE)
|
||||||
|
|
||||||
|
add_subdirectory("${CMAKE_CURRENT_SOURCE_DIR}/dummy/")
|
||||||
|
|
||||||
|
@ -0,0 +1,5 @@
|
|||||||
|
|
||||||
|
file(GLOB_RECURSE dummy_src "${CMAKE_CURRENT_SOURCE_DIR}/*.cpp")
|
||||||
|
add_library(nekohook-dummy STATIC ${dummy_src})
|
||||||
|
install(TARGETS nekohook-dummy DESTINATION lib/)
|
||||||
|
|
@ -18,7 +18,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
// TODO, add texture func with texture load with drawline
|
// TODO, add texture func with texture load with drawline
|
||||||
#include <cmath>
|
/*#include <cmath>
|
||||||
#include <cstring> // strlen
|
#include <cstring> // strlen
|
||||||
|
|
||||||
#include "util/math.hpp" // Contains pi defines
|
#include "util/math.hpp" // Contains pi defines
|
||||||
@ -106,4 +106,4 @@ uservar::Enum default_font(gui_menu, {Fonts[0], Fonts[1], Fonts[2]}, "gui_font",
|
|||||||
uservar::Int default_font_size(gui_menu, "gui_font_size", 6, "Gui font size",
|
uservar::Int default_font_size(gui_menu, "gui_font_size", 6, "Gui font size",
|
||||||
"The main font size");
|
"The main font size");
|
||||||
|
|
||||||
} // namespace draw
|
} */ // namespace draw
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <boost/circular_buffer.hpp>
|
/*#include <boost/circular_buffer.hpp>
|
||||||
#include <chrono>
|
#include <chrono>
|
||||||
#include <unordered_map>
|
#include <unordered_map>
|
||||||
|
|
||||||
@ -53,7 +53,7 @@ static const PredictionCache_s& GetCache(int entity) {
|
|||||||
|
|
||||||
// Cache Cleanup duty
|
// Cache Cleanup duty
|
||||||
static void AfterWorldTick() {
|
static void AfterWorldTick() {
|
||||||
/*CatEntity* local_ent = GetLocalPlayer();
|
CatEntity* local_ent = GetLocalPlayer();
|
||||||
int local_ent_idx = 0;
|
int local_ent_idx = 0;
|
||||||
if (local_ent && !GetDormant(local_ent) && GetAlive(local_ent)) {
|
if (local_ent && !GetDormant(local_ent) && GetAlive(local_ent)) {
|
||||||
int ent_count = GetEntityCount();
|
int ent_count = GetEntityCount();
|
||||||
@ -63,16 +63,16 @@ static void AfterWorldTick() {
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}*/
|
}
|
||||||
|
|
||||||
/*for(size_t i = 0; i < origin_cache.size();) {
|
for(size_t i = 0; i < origin_cache.size();) {
|
||||||
local_ent_idx
|
local_ent_idx
|
||||||
auto ii = origin_cache.begin() + i;
|
auto ii = origin_cache.begin() + i;
|
||||||
if (ii->second.tick != time_keeper)
|
if (ii->second.tick != time_keeper)
|
||||||
origin_cache.erase(ii);
|
origin_cache.erase(ii);
|
||||||
else
|
else
|
||||||
i++;
|
i++;
|
||||||
}*/
|
}
|
||||||
time_keeper = !time_keeper;
|
time_keeper = !time_keeper;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -173,7 +173,7 @@ void DrawTick() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
//#endif
|
//#endif
|
||||||
/*int ent_count = GetEntityCount();
|
int ent_count = GetEntityCount();
|
||||||
for (int i = 0; i < ent_count; i++) {
|
for (int i = 0; i < ent_count; i++) {
|
||||||
CatEntity* entity = GetEntity(i);
|
CatEntity* entity = GetEntity(i);
|
||||||
if (!entity || GetDormant(entity) || !GetAlive(entity) || GetType(entity)
|
if (!entity || GetDormant(entity) || !GetAlive(entity) || GetType(entity)
|
||||||
@ -189,7 +189,7 @@ void DrawTick() {
|
|||||||
cur_pos; return true;
|
cur_pos; return true;
|
||||||
}), wts1))
|
}), wts1))
|
||||||
draw::Rect(wts1.first - 4, wts1.second - 4, 8, 8, colors::white);
|
draw::Rect(wts1.first - 4, wts1.second - 4, 8, 8, colors::white);
|
||||||
}*/
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void Init() {
|
void Init() {
|
||||||
@ -197,4 +197,4 @@ void Init() {
|
|||||||
events::draw.Listen(DrawTick);
|
events::draw.Listen(DrawTick);
|
||||||
}
|
}
|
||||||
|
|
||||||
} // namespace pred
|
}*/ // namespace pred
|
||||||
|
@ -1,42 +1,19 @@
|
|||||||
|
set(NEKOHOOK_SOURCES "")
|
||||||
|
macro(AddFolder name)
|
||||||
|
file(GLOB tmp_sources "${CMAKE_CURRENT_LIST_DIR}/${name}/*.cpp")
|
||||||
|
file(GLOB headers "${CMAKE_CURRENT_LIST_DIR}/${name}/*.hpp")
|
||||||
|
set(NEKOHOOK_SOURCES ${NEKOHOOK_SOURCES} ${tmp_sources})
|
||||||
|
#install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/${name}/CMakeLists.txt" DESTINATION "src/nekohook/${name}/")
|
||||||
|
install(FILES ${tmp_sources} DESTINATION "src/nekohook/${name}")
|
||||||
|
install(FILES ${headers} DESTINATION "src/nekohook/${name}")
|
||||||
|
endmacro(AddFolder)
|
||||||
|
|
||||||
# TODO: add function to test a library for wanted functions and apply conditionals as nessesary
|
AddFolder(.)
|
||||||
|
AddFolder(features)
|
||||||
|
AddFolder(game)
|
||||||
|
AddFolder(gfx)
|
||||||
|
AddFolder(ui)
|
||||||
|
AddFolder(util)
|
||||||
|
set(NEKOHOOK_SOURCES ${NEKOHOOK_SOURCES} PARENT_SCOPE)
|
||||||
|
|
||||||
set(sources "")
|
install(FILES "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "src/nekohook")
|
||||||
add_subdirectory(features)
|
|
||||||
add_subdirectory(game)
|
|
||||||
add_subdirectory(gfx)
|
|
||||||
add_subdirectory(ui)
|
|
||||||
add_subdirectory(util)
|
|
||||||
|
|
||||||
set(suffix "")
|
|
||||||
if (NEKOHOOK_X86)
|
|
||||||
set(suffix "32")
|
|
||||||
endif(NEKOHOOK_X86)
|
|
||||||
|
|
||||||
add_custom_target(nekohook)
|
|
||||||
macro(ApplyCommon in_target)
|
|
||||||
add_dependencies(nekohook ${in_target})
|
|
||||||
set_property(TARGET ${in_target} PROPERTY INTERPROCEDURAL_OPTIMIZATION TRUE)
|
|
||||||
set_property(TARGET ${in_target} PROPERTY CXX_STANDARD 17)
|
|
||||||
set_property(TARGET ${in_target} PROPERTY OUTPUT_NAME nekohook)
|
|
||||||
|
|
||||||
target_include_directories(${in_target} PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}/")
|
|
||||||
target_include_directories(${in_target} PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/../")
|
|
||||||
if (UNIX AND NOT APPLE)
|
|
||||||
target_link_libraries(${in_target} PUBLIC rt pthread)
|
|
||||||
endif ()
|
|
||||||
|
|
||||||
install(TARGETS ${in_target} DESTINATION lib${suffix})
|
|
||||||
endmacro()
|
|
||||||
|
|
||||||
if(NEKOHOOK_BUILD_SHARED)
|
|
||||||
add_library(nekohook_shared SHARED ${sources})
|
|
||||||
ApplyCommon(nekohook_shared)
|
|
||||||
endif(NEKOHOOK_BUILD_SHARED)
|
|
||||||
if(NEKOHOOK_BUILD_STATIC)
|
|
||||||
add_library(nekohook_static STATIC ${sources})
|
|
||||||
ApplyCommon(nekohook_static)
|
|
||||||
endif(NEKOHOOK_BUILD_STATIC)
|
|
||||||
|
|
||||||
|
|
||||||
install(FILES ${headers} DESTINATION include/nekohook)
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
|
|
||||||
file(GLOB tmp_sources "${CMAKE_CURRENT_SOURCE_DIR}/*.cpp")
|
file(GLOB sources "${CMAKE_CURRENT_SOURCE_DIR}/*.cpp")
|
||||||
file(GLOB headers "${CMAKE_CURRENT_SOURCE_DIR}/*.hpp")
|
add_library(nekohook-dummy STATIC ${sources})
|
||||||
set(sources ${sources} ${tmp_sources} PARENT_SCOPE)
|
install(TARGETS nekohook-dummy DESTINATION lib)
|
||||||
install(FILES ${headers} DESTINATION include/nekohook/features)
|
install(FILES ${headers} DESTINATION include/nekohook/features)
|
||||||
|
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
file(GLOB tmp_sources "${CMAKE_CURRENT_SOURCE_DIR}/*.cpp")
|
file(GLOB tmp_sources "${CMAKE_CURRENT_SOURCE_DIR}/*.cpp")
|
||||||
file(GLOB headers "${CMAKE_CURRENT_SOURCE_DIR}/*.hpp")
|
file(GLOB headers "${CMAKE_CURRENT_SOURCE_DIR}/*.hpp")
|
||||||
set(sources ${sources} ${tmp_sources} PARENT_SCOPE)
|
set(sources ${sources} ${tmp_sources} PARENT_SCOPE)
|
||||||
|
install(FILES ${tmp_sources} DESTINATION src/nekohook/game)
|
||||||
install(FILES ${headers} DESTINATION include/nekohook/game)
|
install(FILES ${headers} DESTINATION include/nekohook/game)
|
||||||
|
@ -19,8 +19,8 @@
|
|||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include "util/geometry.hpp"
|
#include "../util/geometry.hpp"
|
||||||
#include "gfx/color.hpp"
|
#include "../gfx/color.hpp"
|
||||||
|
|
||||||
namespace nekohook {
|
namespace nekohook {
|
||||||
|
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
file(GLOB tmp_sources "${CMAKE_CURRENT_SOURCE_DIR}/*.cpp")
|
file(GLOB tmp_sources "${CMAKE_CURRENT_SOURCE_DIR}/*.cpp")
|
||||||
file(GLOB headers "${CMAKE_CURRENT_SOURCE_DIR}/*.hpp")
|
file(GLOB headers "${CMAKE_CURRENT_SOURCE_DIR}/*.hpp")
|
||||||
set(sources ${sources} ${tmp_sources} PARENT_SCOPE)
|
set(sources ${sources} ${tmp_sources} PARENT_SCOPE)
|
||||||
|
install(FILES ${tmp_sources} DESTINATION src/nekohook/gfx)
|
||||||
install(FILES ${headers} DESTINATION include/nekohook/gfx)
|
install(FILES ${headers} DESTINATION include/nekohook/gfx)
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
file(GLOB tmp_sources "${CMAKE_CURRENT_SOURCE_DIR}/*.cpp")
|
file(GLOB tmp_sources "${CMAKE_CURRENT_SOURCE_DIR}/*.cpp")
|
||||||
file(GLOB headers "${CMAKE_CURRENT_SOURCE_DIR}/*.hpp")
|
file(GLOB headers "${CMAKE_CURRENT_SOURCE_DIR}/*.hpp")
|
||||||
set(sources ${sources} ${tmp_sources} PARENT_SCOPE)
|
set(sources ${sources} ${tmp_sources} PARENT_SCOPE)
|
||||||
|
install(FILES ${tmp_sources} DESTINATION src/nekohook/ui)
|
||||||
install(FILES ${headers} DESTINATION include/nekohook/ui)
|
install(FILES ${headers} DESTINATION include/nekohook/ui)
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
|
|
||||||
#include <variant>
|
#include <variant>
|
||||||
|
|
||||||
#include "ui/command.hpp"
|
#include "command.hpp"
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
file(GLOB tmp_sources "${CMAKE_CURRENT_SOURCE_DIR}/*.cpp")
|
file(GLOB tmp_sources "${CMAKE_CURRENT_SOURCE_DIR}/*.cpp")
|
||||||
file(GLOB headers "${CMAKE_CURRENT_SOURCE_DIR}/*.hpp")
|
file(GLOB headers "${CMAKE_CURRENT_SOURCE_DIR}/*.hpp")
|
||||||
set(sources ${sources} ${tmp_sources} PARENT_SCOPE)
|
set(sources ${sources} ${tmp_sources} PARENT_SCOPE)
|
||||||
install(FILES ${headers} DESTINATION include/nekohook/ui)
|
install(FILES ${tmp_sources} DESTINATION src/nekohook/util)
|
||||||
|
install(FILES ${headers} DESTINATION include/nekohook/util)
|
||||||
|
@ -2,3 +2,6 @@
|
|||||||
# Do we even need this thing? i mean it helps, but what about organizing sources in cmake
|
# Do we even need this thing? i mean it helps, but what about organizing sources in cmake
|
||||||
set(psudocrt_start "${CMAKE_CURRENT_SOURCE_DIR}/start.cpp" PARENT_SCOPE)
|
set(psudocrt_start "${CMAKE_CURRENT_SOURCE_DIR}/start.cpp" PARENT_SCOPE)
|
||||||
set(psudocrt_end "${CMAKE_CURRENT_SOURCE_DIR}/end.cpp" PARENT_SCOPE)
|
set(psudocrt_end "${CMAKE_CURRENT_SOURCE_DIR}/end.cpp" PARENT_SCOPE)
|
||||||
|
install(FILES ${psudocrt_start} ${psudocrt_end} DESTINATION src/psudocrt/)
|
||||||
|
install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/CMakeLists.txt" DESTINATION src/psudocrt)
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user