Skip to content

Commit 9a3e2b3

Browse files
committed
added lib.cpp
1 parent afc5259 commit 9a3e2b3

File tree

6 files changed

+80
-16
lines changed

6 files changed

+80
-16
lines changed

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,3 +30,6 @@
3030
*.exe
3131
*.out
3232
*.app
33+
34+
build
35+
src/constants.hpp

CMakeLists.txt

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,6 @@ list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/cmake")
88

99
project(
1010
ChangeMe
11-
LANGUAGES CXX
12-
VERSION 0.1.0
1311
DESCRIPTION "ChangeMe"
1412
HOMEPAGE_URL https://github.com/hugsy/ChangeMe
1513
)

examples/CMakeLists.txt

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,16 @@
1-
project(ProjectTools)
1+
project(Examples)
22

3-
#
4-
# Build test tools
5-
#
6-
set(PROJECT_TOOLS_DIR ${PROJECT_ROOT_DIR}/tools CACHE INTERNAL "PROJECT_TOOLS_DIR")
3+
set(PROJECT_EXAMPLES_DIR ${PROJECT_ROOT_DIR}/examples CACHE INTERNAL "PROJECT_EXAMPLES_DIR")
4+
5+
set(
6+
EXAMPLES_DIRS
7+
8+
# Populate here
9+
)
10+
11+
foreach(EXAMPLE ${EXAMPLES_DIRS})
12+
file(GLOB SOURCE_FILES ${PROJECT_EXAMPLES_DIR}/${EXAMPLE}/*.cpp ${PROJECT_EXAMPLES_DIR}/${EXAMPLE}/*.asm)
13+
add_executable(${EXAMPLE} WIN32 ${SOURCE_FILES})
14+
install(TARGETS ${EXAMPLE} DESTINATION Examples)
15+
install(FILES $<TARGET_PDB_FILE:${EXAMPLE}> DESTINATION Examples/Debug OPTIONAL)
16+
endforeach()

src/CMakeLists.txt

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,25 @@
1-
project(ProjectLib)
1+
project(ChangeMe
2+
LANGUAGES CXX
3+
VERSION 0.1.0)
24

35
set(PROJECT_LIB_SRC_DIR ${PROJECT_ROOT_DIR}/src CACHE INTERNAL "PROJECT_LIB_SRC_DIR")
46

57
#
68
# Create the constants.hpp macro file
79
#
810
configure_file(
9-
"constants.hpp.in"
10-
"constants.hpp"
11+
"${PROJECT_LIB_SRC_DIR}/constants.hpp.in"
12+
"${PROJECT_LIB_SRC_DIR}/constants.hpp"
1113
NEWLINE_STYLE WIN32
1214
)
1315

1416
#
1517
# Print out cmake compile info
1618
#
1719
message(STATUS "CMAKE_MODULE_PATH: ${CMAKE_MODULE_PATH}")
18-
message(STATUS "CMAKE_CXX_LINK_EXECUTABLE: ${CMAKE_CXX_LINK_EXECUTABLE}")
19-
message(STATUS "CMAKE_CXX_LINK_FLAGS: ${CMAKE_CXX_LINK_FLAGS}")
20-
message(STATUS "CMAKE_EXE_LINKER_FLAGS: ${CMAKE_EXE_LINKER_FLAGS}")
21-
message(STATUS "CMAKE_EXE_LINKER_FLAGS_RELEASE: ${CMAKE_EXE_LINKER_FLAGS_RELEASE}")
22-
message(STATUS "CMAKE_SHARED_LINKER_FLAGS: ${CMAKE_SHARED_LINKER_FLAGS}")
23-
message(STATUS "CMAKE_SHARED_LINKER_FLAGS_RELEASE: ${CMAKE_SHARED_LINKER_FLAGS_RELEASE}")
2420
message(STATUS "CMAKE_SYSTEM_PROCESSOR: ${CMAKE_SYSTEM_PROCESSOR}")
2521
message(STATUS "CMAKE_SYSTEM_NAME: ${CMAKE_SYSTEM_NAME}")
22+
23+
add_library(${PROJECT_NAME} STATIC lib.cpp)
24+
25+
install(TARGETS ${PROJECT_NAME} DESTINATION ${PROJECT_NAME}/Library)

src/constants.hpp.in

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
#pragma once
2+
#include <string_view>
3+
4+
// clang-format off
5+
///
6+
///@brief
7+
///
8+
constexpr std::wstring_view LibraryName = L"@PROJECT_NAME@";
9+
10+
///
11+
///@brief
12+
///
13+
constexpr std::wstring_view LibraryAuthor = L"@PROJECT_AUTHOR@";
14+
15+
///
16+
///@brief
17+
///
18+
constexpr std::wstring_view LibraryLicense = L"@PROJECT_LICENSE@";
19+
20+
///
21+
///@brief
22+
///
23+
constexpr std::wstring_view LibraryBanner = L"@PROJECT_NAME@" L" v" L"@PROJECT_VERSION_MAJOR@" L"." L"@PROJECT_VERSION_MINOR@" L"." L"@PROJECT_VERSION_PATCH@";
24+
// clang-format on

src/lib.cpp

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
#ifdef _WIN32
2+
#include <windows.h>
3+
4+
BOOL WINAPI
5+
DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpReserved)
6+
{
7+
switch ( fdwReason )
8+
{
9+
case DLL_PROCESS_ATTACH:
10+
case DLL_PROCESS_DETACH:
11+
case DLL_THREAD_ATTACH:
12+
case DLL_THREAD_DETACH:
13+
break;
14+
}
15+
16+
return TRUE;
17+
}
18+
19+
#else
20+
static __attribute__((constructor)) void
21+
on_attach_routine(void)
22+
{
23+
}
24+
25+
static void __attribute__((destructor))
26+
on_detach_routine()
27+
{
28+
}
29+
#endif //_WIN32

0 commit comments

Comments
 (0)