Skip to content

Commit

Permalink
Added VC2019 build. Added change log.
Browse files Browse the repository at this point in the history
  • Loading branch information
wqking committed Dec 13, 2019
1 parent 85af5fa commit c072e39
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 0 deletions.
9 changes: 9 additions & 0 deletions readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -126,6 +126,7 @@ The library itself is header only and doesn't need building.
The unit tests require CMake to build, and there is a makefile to ease the building.
Note the unit tests require C++14 (generic lambda), the library itself only requires C++11.
Go to folder `tests/build`, then run `make` with different target.
- `make vc19` #generate solution files for Microsoft Visual Studio 2019, then open eventpptest.sln in folder project_vc19
- `make vc17` #generate solution files for Microsoft Visual Studio 2017, then open eventpptest.sln in folder project_vc17
- `make vc15` #generate solution files for Microsoft Visual Studio 2015, then open eventpptest.sln in folder project_vc15
- `make mingw` #build using MinGW
Expand All @@ -136,3 +137,11 @@ Go to folder `tests/build`, then run `make` with different target.
I (wqking) am a big fan of observer pattern (publish/subscribe pattern), and I used this pattern extensively in my code. I either used GCallbackList in my [cpgf library](https://github.com/cpgf/cpgf) which is too simple and unsafe (not support multi-threading or nested events), or repeated coding event dispatching mechanism such as I did in my [Gincu game engine](https://github.com/wqking/gincu) (the latest version has be rewritten to use eventpp). Both or these methods are neither fun nor robust.
Thanking to C++11, now it's quite easy to write a reusable event library with beautiful syntax (it's a nightmare to simulate the variadic template in C++03), so here is `eventpp`.

## Change log

**Version 0.1.1**
Added HeterCallbackList, HeterEventDispatcher, and HeterEventQueue.

**Version 0.1.0**
First version.
Added CallbackList, EventDispatcher, EventQueue, CounterRemover, ConditionalRemover, ScopedRemover, and utilities.
6 changes: 6 additions & 0 deletions tests/build/makefile
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ none: needcmake
$(ECHO) " mingw_debug Generate MinGW makefile and then use mingw32-make to build (debug version)."
$(ECHO) " msys Generate MSys makefile and then use make to build (release version)."
$(ECHO) " nmake Generate Microsoft VC makefile and then use nmake to build."
$(ECHO) " vc19 Generate project files for Microsoft VC 2019. No auto build. You need to open the project in VC IDE then build."
$(ECHO) " vc17 Generate project files for Microsoft VC 2017. No auto build. You need to open the project in VC IDE then build."
$(ECHO) " vc15 Generate project files for Microsoft VC 2015. No auto build. You need to open the project in VC IDE then build."
$(ECHO) " auto Auto detect the compiler and make environment and then use make to build. NOT recommend."
Expand Down Expand Up @@ -79,6 +80,11 @@ linux_debug: needcmake
$(CH_DIR) $(CACHE_DIR)_linux_debug $(CMAKE) -DCMAKE_BUILD_TYPE=Debug -G"Unix Makefiles"
$(EXEC_BUILD)_linux_debug make $(TARGET)

vc19: needcmake
$(MK_DIR) $(PROJECT_PREFIX)_vc19
$(CH_DIR) $(PROJECT_PREFIX)_vc19 $(CMAKE) -G "Visual Studio 16 2019" -A x64
$(ECHO) Please open the solution $(PROJECT).sln in $(PROJECT_PREFIX)_vc19 in VC IDE.

vc17: needcmake
$(MK_DIR) $(PROJECT_PREFIX)_vc17
$(CH_DIR) $(PROJECT_PREFIX)_vc17 $(CMAKE) -G"Visual Studio 15 2017 Win64"
Expand Down

0 comments on commit c072e39

Please sign in to comment.