Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Build system simplification and rework #70

Draft
wants to merge 232 commits into
base: main
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
232 commits
Select commit Hold shift + click to select a range
f053dad
mac os app bundle support
stijnvanbeek Nov 22, 2023
02e65b2
bundled cmake macos universal
stijnvanbeek Jan 24, 2024
a052ac7
rttr macos universal build
stijnvanbeek Jan 24, 2024
dad2aea
add universal as ${ARCH} value
stijnvanbeek Jan 24, 2024
8ccce20
rttr macos build scripts
stijnvanbeek Jan 29, 2024
6a7077e
rttr source build skip benchmarks, unit tests and examples
stijnvanbeek Jan 29, 2024
0c6a05c
revalidate code signature after install_name_tool
stijnvanbeek Jan 29, 2024
034df16
update architecture directory name for rtti mac os
stijnvanbeek Jan 29, 2024
656e8fb
SDL2 macos universal
stijnvanbeek Jan 29, 2024
19048a6
add freetype macos universal
stijnvanbeek Jan 29, 2024
0f7e81e
update find_sdl2() macro macos architectures
stijnvanbeek Jan 29, 2024
83208ff
add freetype and SDL macos universal binaries
stijnvanbeek Jan 29, 2024
7cda356
assimp universal macos include
stijnvanbeek Feb 5, 2024
aa97b7d
libassimp macos universal binaries
stijnvanbeek Feb 5, 2024
7872722
glslang macos universal build
stijnvanbeek Feb 5, 2024
24bee0a
spirv-cross macos universal build
stijnvanbeek Feb 5, 2024
726d2da
freeimage static macos universal build
stijnvanbeek Feb 5, 2024
7edf70b
vulkansdk macos universal
stijnvanbeek Feb 5, 2024
b903619
gitignore lib/
stijnvanbeek Feb 6, 2024
30ccd9e
Update Findfreeimage.cmake
stijnvanbeek Feb 6, 2024
a9d56b3
Update Findfreetype.cmake
stijnvanbeek Feb 6, 2024
b92942d
Update FindSDL2.cmake
stijnvanbeek Feb 6, 2024
8df737b
Revert "Update FindSDL2.cmake"
stijnvanbeek Feb 6, 2024
acc95e3
Update Findglslang.cmake
stijnvanbeek Feb 7, 2024
ea65f95
Update FindSPIRVCross.cmake
stijnvanbeek Feb 7, 2024
76cc0ae
Revert "Revert "Update FindSDL2.cmake""
stijnvanbeek Feb 7, 2024
16d3d82
add vulkan sdk universal binary
stijnvanbeek Feb 7, 2024
6470925
replacing macos code signatures
stijnvanbeek Feb 12, 2024
7e84a9d
Napkin upgrade to Qt 6.6.1
stijnvanbeek Feb 12, 2024
154ffd3
macos universal python build
stijnvanbeek Feb 13, 2024
9c3c338
find python cmake
stijnvanbeek Feb 13, 2024
89dbb97
adaptation buildsystem macos universal and python3.11 for mac
stijnvanbeek Feb 16, 2024
e9dd749
framework packaging: python version differentiation and disabling QT …
stijnvanbeek Feb 20, 2024
19fdc92
python version differentation nap Core
stijnvanbeek Feb 20, 2024
83f3a18
update generator scripts framework release to build macos univesal bi…
stijnvanbeek Feb 20, 2024
d4cef92
correct app.json filename in macos app bundle packaging script
stijnvanbeek Feb 20, 2024
d629589
macos data search path for naprender and napimgui
stijnvanbeek Feb 20, 2024
818308e
correct install source directory for rttr thirdparty lib on macos
stijnvanbeek Feb 20, 2024
2d6b9b3
macos-universal support cmake, disable all unsupported features
stijnvanbeek Feb 20, 2024
d0c3ecd
Merge remote-tracking branch 'origin/0.7' into macos-universal-0.7
stijnvanbeek Feb 20, 2024
2b77a79
Merge remote-tracking branch 'upstream/0.7' into macos-universal-0.7
stijnvanbeek Feb 20, 2024
0e4a051
replace RASPBERRY compiler flag with x86_64 check for denormal disabling
stijnvanbeek Feb 20, 2024
dec1650
napportaudio macos universal build
stijnvanbeek Feb 20, 2024
6698866
libsndfile universal macos build
stijnvanbeek Feb 26, 2024
ddabeb9
libsndfile macos universal license
stijnvanbeek Feb 26, 2024
d4097c9
libsndfile macos universal cmake find module update
stijnvanbeek Feb 26, 2024
ac55cd3
remove superfluous and erronuous call to target_architecture()
stijnvanbeek Feb 26, 2024
4fa2b09
remove libmpg123
stijnvanbeek Feb 26, 2024
4ca2671
libsndfile macos universal binary with static external format support…
stijnvanbeek Feb 26, 2024
7956abd
enable audio modules and demos
stijnvanbeek Feb 26, 2024
492a9d5
rtmidi and oscpack macos universal builds
stijnvanbeek Feb 27, 2024
3819352
enable napmidi, naposc and oscmidi demo targets
stijnvanbeek Feb 27, 2024
cec8253
correct error in findSDL.cmake
stijnvanbeek Feb 28, 2024
3826a53
Merge branch 'macos-universal-0.7' of https://github.com/stijnvanbeek…
stijnvanbeek Feb 28, 2024
9e0065f
mpg123 macos universal build
stijnvanbeek Feb 29, 2024
3ad9cde
Merge branch 'macos-universal-0.7' of https://github.com/stijnvanbeek…
stijnvanbeek Feb 29, 2024
79ba41c
Revert "remove libmpg123"
stijnvanbeek Feb 29, 2024
e119ae3
Revert "libsndfile macos universal binary with static external format…
stijnvanbeek Feb 29, 2024
4d23baa
update libmpg123 cmake references for macos universal build
stijnvanbeek Feb 29, 2024
71937a3
fix compiler errors on msvc 2019 Sdk 16.0 on Ninja build
stijnvanbeek Feb 29, 2024
6f8bc45
Some windows specific build system changes for Qt6
stijnvanbeek Feb 29, 2024
1eb35a5
rapidjson update
stijnvanbeek Feb 29, 2024
42790e2
update assimp headers for universal macos to supress warning
stijnvanbeek Feb 29, 2024
acab6df
replace deprecated sprintf()
stijnvanbeek Feb 29, 2024
3c2265a
only link naputility into naprtti to avoid duplicate library linking …
stijnvanbeek Feb 29, 2024
5768f2e
change macOS support warning
stijnvanbeek Mar 4, 2024
43b4ac5
Update .gitignore
stijnvanbeek Mar 4, 2024
afde1fd
Always use universal python build
stijnvanbeek Mar 5, 2024
30dec5e
Update CMakeLists.txt
stijnvanbeek Mar 5, 2024
012d655
rttr macos universal bin folder with dylibs
stijnvanbeek Mar 5, 2024
22bd6d7
Update .gitignore
stijnvanbeek Mar 5, 2024
a977926
Merge remote-tracking branch 'upstream/macos-universal-0.7'
stijnvanbeek Mar 5, 2024
f885414
python macos universal bin folder
stijnvanbeek Mar 5, 2024
51deea1
Merge remote-tracking branch 'upstream/macos-universal-0.7'
stijnvanbeek Mar 5, 2024
9285319
add assimp cmake files
stijnvanbeek Mar 6, 2024
8db3045
Merge remote-tracking branch 'upstream/macos-universal-0.7'
stijnvanbeek Mar 6, 2024
08c31c0
Add universal macos lib vulkan dylib
stijnvanbeek Mar 6, 2024
7b1338a
Merge remote-tracking branch 'upstream/macos-universal-0.7'
stijnvanbeek Mar 6, 2024
ad85165
proper macos universal python installation
stijnvanbeek Mar 6, 2024
f95460d
Merge remote-tracking branch 'upstream/macos-universal-0.7'
stijnvanbeek Mar 6, 2024
ba714e2
Revert "Always use universal python build"
stijnvanbeek Mar 6, 2024
99fbd52
cmake macos universal bin dir
stijnvanbeek Mar 6, 2024
2018115
Merge remote-tracking branch 'upstream/macos-universal-0.7'
stijnvanbeek Mar 6, 2024
a4720cb
Revert "Merge remote-tracking branch 'upstream/macos-universal-0.7'"
stijnvanbeek Mar 6, 2024
332796c
Revert "Revert "Merge remote-tracking branch 'upstream/macos-universa…
stijnvanbeek Mar 6, 2024
f5fe905
add cmake macos universal share directory
stijnvanbeek Mar 6, 2024
7c0b131
Merge remote-tracking branch 'upstream/macos-universal-0.7'
stijnvanbeek Mar 6, 2024
c85ff0a
fix targetarch cmake script so macos arm64 builds create universal bi…
stijnvanbeek Mar 6, 2024
c56ff65
Merge remote-tracking branch 'upstream/macos-universal-0.7'
stijnvanbeek Mar 6, 2024
83fa6c1
link naputility in app
stijnvanbeek Mar 8, 2024
2713565
don'l link python libs in each module
stijnvanbeek Mar 8, 2024
468110c
Merge pull request #1 from 4dsound/duplicate-linking-fix
stijnvanbeek Mar 8, 2024
78a9d29
Revert "only link naputility into naprtti to avoid duplicate library …
stijnvanbeek Mar 11, 2024
df860d1
fix rtmidi dylib installation
stijnvanbeek Mar 11, 2024
a9d0528
Merge pull request #2 from 4dsound/macos-universal-linker-errors
stijnvanbeek Mar 11, 2024
23a8dff
fix PYTHONHOME on packaged release
stijnvanbeek Mar 15, 2024
2172094
copy system module data to app bundle
stijnvanbeek Mar 15, 2024
318fb68
Merge branch '0.7' into macos-universal-0.7
stijnvanbeek Mar 15, 2024
cf66840
buildsystem cmake rewrite
stijnvanbeek Mar 17, 2024
d18674c
add freeimage dylib macos universal
stijnvanbeek Mar 17, 2024
7a1fc18
Merge branch 'macos-universal-0.7' into simplify-packaging
stijnvanbeek Mar 17, 2024
491a100
buildystem rewrite
stijnvanbeek Mar 19, 2024
3b1e057
module utilities napfont freetype
stijnvanbeek Mar 19, 2024
a4859d6
buildsystem rewrite, working helloworld macos, source and app bundle
stijnvanbeek Mar 20, 2024
4656b1e
working on windows
stijnvanbeek Mar 20, 2024
b276b98
napkin working on windows
stijnvanbeek Mar 20, 2024
314eb57
Napkin cleanup
stijnvanbeek Mar 20, 2024
902db77
napkin fixes
stijnvanbeek Mar 20, 2024
c2db504
Update module_extra.cmake
stijnvanbeek Mar 20, 2024
a32a386
update Qt version 6 in message
stijnvanbeek Mar 21, 2024
e80f1a2
app packaging test win
stijnvanbeek Mar 21, 2024
41c2943
Delete package_app.bat
stijnvanbeek Mar 21, 2024
ed1408d
delete cache
stijnvanbeek Mar 21, 2024
17e8fad
audio support
stijnvanbeek Mar 21, 2024
0e8eb55
Update CMakeLists.txt
stijnvanbeek Mar 21, 2024
c78445a
fix module installation to lib
stijnvanbeek Mar 21, 2024
3120112
packaging sh script
stijnvanbeek Mar 22, 2024
063d524
plist support, fix permissions for executable
stijnvanbeek Mar 22, 2024
d2666bd
Update setup.cmake
stijnvanbeek Mar 22, 2024
3e835d7
Update package_app.sh
stijnvanbeek Mar 22, 2024
1bc9c08
Update package_app.sh
stijnvanbeek Mar 22, 2024
baf337b
path mapping fix
stijnvanbeek Mar 23, 2024
98adeed
delete cache
stijnvanbeek Mar 23, 2024
a739ce0
Update .gitignore
stijnvanbeek Mar 23, 2024
994576a
Get molten vk path from module paths, that's where it resides
stijnvanbeek Mar 23, 2024
b84fd05
Update default_path_mapping.json
stijnvanbeek Mar 23, 2024
0bba2d2
Update CMakeLists.txt
stijnvanbeek Mar 23, 2024
1ebfebf
path_mapping handling in app cmake
stijnvanbeek Mar 23, 2024
c7c9338
Fix app title parsing on windows
stijnvanbeek Mar 23, 2024
26db38d
Fix mpg123 on windows
stijnvanbeek Mar 23, 2024
28f0344
Update default_path_mapping.json
stijnvanbeek Mar 23, 2024
f3a3dc3
Buildsystem cleanup
stijnvanbeek Mar 23, 2024
d4e8615
Fix freeimage dll name on linux
stijnvanbeek Mar 24, 2024
0eba240
Package script linux compatible
stijnvanbeek Mar 24, 2024
cde2288
Set executable rpaths in linux as well
stijnvanbeek Mar 24, 2024
c5817b8
Add napmidi
stijnvanbeek Mar 24, 2024
f890d14
Linux dev
stijnvanbeek Mar 24, 2024
3fe03e9
Run oatchelf to set soname on shared libs on linux
stijnvanbeek Mar 24, 2024
cc18259
macos fixes package_app script
stijnvanbeek Mar 25, 2024
3b4ce92
include windows build for jq bash json parser
stijnvanbeek Mar 25, 2024
cfb9267
windows static lib for rtmidi
stijnvanbeek Mar 25, 2024
1f4ee6e
Update CMakeLists.txt
stijnvanbeek Mar 25, 2024
170d2b6
Fix for windows dynamic libs linking to implib
stijnvanbeek Mar 25, 2024
b379770
Clean esample app
stijnvanbeek Mar 25, 2024
374c83b
add apps folder to cmake
stijnvanbeek Mar 25, 2024
b3d2fc3
Clean example app more
stijnvanbeek Mar 25, 2024
2160bb0
add libfreeimage symlink
stijnvanbeek Mar 25, 2024
a0775f9
Update generate_solution.bat
stijnvanbeek Mar 25, 2024
dba5bbd
freeimage symlink for x86_64
stijnvanbeek Mar 25, 2024
f4f1f60
update dylib id on macos just like soname on linux
stijnvanbeek Mar 25, 2024
76f6192
Some cleanup
stijnvanbeek Mar 25, 2024
f2032ad
set dylib id on libsndfile
stijnvanbeek Mar 26, 2024
5cb4815
add osc
stijnvanbeek Mar 26, 2024
91ba32c
Update module_utilities.cmake
stijnvanbeek Mar 26, 2024
f0c7095
Update module_utilities.cmake
stijnvanbeek Mar 26, 2024
a848fe8
fix demo including
stijnvanbeek Mar 26, 2024
099e1d5
fix including app module
stijnvanbeek Mar 28, 2024
2c32302
fix module resources installation
stijnvanbeek Mar 28, 2024
634c267
fix app titles with spaces, only codesign when identity is specified
stijnvanbeek Mar 28, 2024
b5f28f2
Fix osx directorywatcher filename comparison
stijnvanbeek Mar 28, 2024
aa6504d
Config file support
stijnvanbeek Mar 28, 2024
c0d870c
set cmake minimum version to 3.18.4
stijnvanbeek Mar 28, 2024
049ef24
Revert "set cmake minimum version to 3.18.4"
stijnvanbeek Mar 28, 2024
8cbf9bd
rename nap_utilities.cmake, add thirdparty licenses
stijnvanbeek Apr 2, 2024
fb36566
copy libMoltenVK on apple
stijnvanbeek Apr 3, 2024
58ef126
Update directorywatcher.cpp
stijnvanbeek Apr 3, 2024
1e42884
fix freeimage license
stijnvanbeek Apr 8, 2024
336d82a
update gitignore
CasimirGeelhoed Apr 8, 2024
ab08a04
fix portaudio symlink
CasimirGeelhoed Apr 8, 2024
a08f954
rename liboscpack dylib
CasimirGeelhoed Apr 8, 2024
efebcaa
Merge remote-tracking branch 'upstream/simplify-packaging' into intel…
CasimirGeelhoed Apr 8, 2024
e8598b7
Merge pull request #4 from 4dsound/intel-fixes-only
stijnvanbeek Apr 8, 2024
a740096
update oscpack with arm64 support for apple silicon
stijnvanbeek May 23, 2024
f32d95b
exit on error in package_app.sh
stijnvanbeek May 25, 2024
f71707a
Merge pull request #5 from stijnvanbeek/simplify-packaging
stijnvanbeek Jun 6, 2024
f5555d8
fix install name of liboscpack for x86_64
CasimirGeelhoed Jul 7, 2024
bf0f2ca
rttr static libs macos universal
stijnvanbeek Jul 10, 2024
b80d52e
rttr lib with minimum osx version 10.15
stijnvanbeek Jul 10, 2024
a9d29af
make real-time editing work within app bundle
CasimirGeelhoed Jul 10, 2024
5761718
Revert "rttr lib with minimum osx version 10.15"
stijnvanbeek Jul 17, 2024
7fcb593
fix duplicate rpath
CasimirGeelhoed Jul 17, 2024
d0521fb
add rpath when it hasn't been set already
CasimirGeelhoed Jul 22, 2024
74e03f5
move rttr to rtti thirdparty subdirectory with cmake import target
stijnvanbeek Jul 23, 2024
67ece72
(re)add ignored rttr binaries
stijnvanbeek Jul 23, 2024
a2a582a
package_app script now builds release mode
stijnvanbeek Jul 23, 2024
bc2cea4
Merge pull request #6 from stijnvanbeek/directorywatcher-fix
stijnvanbeek Jul 24, 2024
9c31145
Update nap_app.cmake
CasimirGeelhoed Aug 14, 2024
8e70bd9
Update CMakeLists.txt
CasimirGeelhoed Aug 14, 2024
578c05c
upgrade napudp and napasio
stijnvanbeek Aug 20, 2024
3c79db4
rttr build osx minimum version 10.15
stijnvanbeek Aug 20, 2024
b09fc5a
rttr macos 10.15 deployment target
stijnvanbeek Aug 20, 2024
d2c79ad
add napapi module and napupd demos
stijnvanbeek Sep 6, 2024
4988b6e
Merge branch 'rttr-macos-intel'
stijnvanbeek Sep 6, 2024
db70790
Merge pull request #7 from stijnvanbeek/fix-duplicate-path
stijnvanbeek Sep 6, 2024
e1d5014
windows build fix rttr
stijnvanbeek Sep 11, 2024
7b51287
Merge remote-tracking branch 'upstream/0.7' into nap-0.7
stijnvanbeek Sep 18, 2024
7f2c27d
Merge remote-tracking branch 'upstream/0.8' into nap-0.8
stijnvanbeek Sep 18, 2024
50c0632
merge from upstream/0.8
stijnvanbeek Sep 18, 2024
2290f08
Find RTTR::Core using find_package to use its own cmake system
stijnvanbeek Sep 20, 2024
fea9c5b
ad hoc sign macos rttr debug build
stijnvanbeek Sep 24, 2024
9deb0b3
Merge branch 'nap-0.8' into nap-0.7.5
stijnvanbeek Sep 28, 2024
128bc5e
move rttr back to original location in nap_root/thirdparty
stijnvanbeek Sep 28, 2024
08602db
Merge remote-tracking branch 'upstream/main' into nap-0.7.5
stijnvanbeek Sep 28, 2024
ac9cb9c
update assimp dylib with proper min macos version
stijnvanbeek Sep 29, 2024
fb3204a
Update libfreetype dylib with proper min macos version
stijnvanbeek Sep 29, 2024
f6f3550
update install name libfreetype macos
stijnvanbeek Sep 29, 2024
6e5bb93
Merge remote-tracking branch 'upstream/main' into nap-0.7.5
stijnvanbeek Oct 4, 2024
9bccb33
codesign imported libraries with ad hoc sign on mac os
stijnvanbeek Oct 4, 2024
d7763e9
update libmpg123 dylib correct minimum mac os version
stijnvanbeek Oct 5, 2024
820a4a7
Correct install name libmpg123 dylib
stijnvanbeek Oct 5, 2024
3c875c0
Update libportaudio with correct minimum macos version
stijnvanbeek Oct 8, 2024
1e60f05
Update libsndfile dylib correct min mac OS version
stijnvanbeek Oct 9, 2024
eda311c
libsndfile dylib correct install name
stijnvanbeek Oct 9, 2024
3402dce
Update liboscpack dylib minimum osx version
stijnvanbeek Oct 9, 2024
0e42098
Update rtmidi dylib correct min mac os version
stijnvanbeek Oct 9, 2024
9b075da
install name libportaudio dylib
stijnvanbeek Oct 10, 2024
0ae3bf6
Support occasionally locking the audio thread
stijnvanbeek Oct 31, 2024
7258449
Merge pull request #9 from stijnvanbeek/nap-0.7.5
stijnvanbeek Oct 31, 2024
d233b95
Merge pull request #10 from 4dsound/audio-thread-lock
stijnvanbeek Oct 31, 2024
2faafaf
fix libsndfile cmake on win
stijnvanbeek Nov 14, 2024
b1f15d0
fix sdl cmake on win
stijnvanbeek Nov 14, 2024
aea4a82
Fix for Qt build in debug mode
stijnvanbeek Nov 14, 2024
42a366d
msvc rttr build
stijnvanbeek Nov 14, 2024
5b286c7
remove status print
stijnvanbeek Nov 14, 2024
a04bcf5
Add librttr linux libs
stijnvanbeek Nov 14, 2024
2916b70
Fix cache/build_app.json in case no service config specified
stijnvanbeek Nov 14, 2024
b15c443
Merge pull request #69 from stijnvanbeek/main
stijnvanbeek Nov 15, 2024
532c79f
napasio license fix and cleanup
stijnvanbeek Nov 15, 2024
4a1a908
fix running cmake without build type
stijnvanbeek Nov 15, 2024
99c3dab
Merge pull request #72 from stijnvanbeek/main
stijnvanbeek Nov 16, 2024
0fa7d59
Fix napmidi and naposc msvc builds
stijnvanbeek Dec 4, 2024
1a8e56c
Merge pull request #75 from stijnvanbeek/main
stijnvanbeek Dec 6, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
38 changes: 37 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
__pycache__
bin/
install/
lib/
build/
.idea/
.idea/workspace.xml
Expand All @@ -11,8 +13,21 @@ cmake-build-debug/*
core/Debug/
.vscode/
vs/
lib/
cache/
system_modules/napof/Debug/
system_modules/napof/Release/
system_modules/napgui/Debug/
system_modules/napgui/Release/napgui.tlog/Lib-link.read.1.tlog
system_modules/napgui/Release/
system_modules/napetherservice/Release/
system_modules/napinput/Debug/
system_modules/napetherservice/Debug/
core/Release/
system_modules/napinput/Release/
test/unittest/Release/unittest.vcxprojResolveAssemblyReference.cache
*.user
system_modules/napawesomium/Release/napawesomium.vcxprojResolveAssemblyReference.cache
system_modules/network/Release/
modules/
napkin/Release/
/msvc32
Expand Down Expand Up @@ -85,6 +100,7 @@ thirdparty/rapidjson/thirdparty/
*.o
thirdparty/rttr/macos/*
!thirdparty/rttr/macos/x86_64
!thirdparty/rttr/macos/universal
thirdparty/rttr/msvc/*
!thirdparty/rttr/msvc/x86_64
thirdparty/rttr/linux/*
Expand Down Expand Up @@ -112,4 +128,24 @@ pyvenv.cfg
system_modules/naprender/thirdparty/vulkansdk/linux/lib/libVkLayer_khronos_validation.so
system_modules/naprender/thirdparty/vulkansdk/linux/lib/libVkLayer_api_dump.so
system_modules/naplicense/thirdparty/cryptopp/linux/*/lib/libcryptopp.a
!system_modules/napportaudio/thirdparty/portaudio/macos/universal/lib/
!system_modules/napaudio/thirdparty/libsndfile/macos/universal/lib/
!system_modules/napaudio/thirdparty/mpg123/macos/universal/lib/
!system_modules/naposc/thirdparty/oscpack/macos/universal/lib/
!system_modules/napmidi/thirdparty/rtmidi/macos/universal/lib/
!thirdparty/rttr/macos/universal/bin/
!thirdparty/python/macos/universal/bin/
!thirdparty/python/macos/universal/lib/
!thirdparty/cmake/macos/universal/bin/
!thirdparty/cmake/macos/universal/share/*/*
!system_modules/napportaudio/thirdparty/portaudio/macos/x86_64/lib/
!system_modules/napaudio/thirdparty/libsndfile/macos/x86_64/lib/
!system_modules/napaudio/thirdparty/mpg123/macos/x86_64/lib/
!system_modules/naposc/thirdparty/oscpack/macos/x86_64/lib/
!system_modules/napmidi/thirdparty/rtmidi/macos/x86_64/lib/
!thirdparty/rttr/macos/x86_64/bin/
!thirdparty/python/macos/x86_64/bin/
!thirdparty/python/macos/x86_64/lib/
!thirdparty/cmake/macos/x86_64/bin/
!thirdparty/cmake/macos/x86_64/share/*/*
thirdparty/docker_images/cmake
150 changes: 28 additions & 122 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,142 +1,48 @@
cmake_minimum_required(VERSION 3.18.4)
cmake_minimum_required(VERSION 3.19)
set(CMAKE_OSX_ARCHITECTURES arm64;x86_64)
project(NAP)

# Keep the current directory as project root
set(NAP_ROOT ${CMAKE_CURRENT_LIST_DIR})
message(STATUS "Using NAP Root: ${CMAKE_CURRENT_LIST_DIR}")
include(${NAP_ROOT}/cmake/setup.cmake)
include(${NAP_ROOT}/cmake/nap_utilities.cmake)

# Inform system we're building from source
set(NAP_BUILD_CONTEXT "source")
setup()

# Thirdparty libraries reside in this location, keep an absolute path
set(THIRDPARTY_DIR ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty)
message(STATUS "Using thirdparty directory: ${THIRDPARTY_DIR}")

# Include utilities
include(cmake/macros_and_functions.cmake)
include(cmake/framework_release_packaging.cmake)
include(cmake/qtconfig.cmake)

# Initialize environment
bootstrap_environment()
set_source_build_configuration()
set(MODULE_INTO_PARENT TRUE)
set(CMAKE_INSTALL_PREFIX ${CMAKE_SOURCE_DIR}/packaging_staging)

# store project directory
get_filename_component(PROJECTS_DIR ${CMAKE_CURRENT_SOURCE_DIR}/.. ABSOLUTE)

# library targets
add_subdirectory(core)
add_subdirectory(utility)
add_subdirectory(rtti)
add_subdirectory(qt)

# tools targets
add_subdirectory(tools/fbxconverter)
add_subdirectory(tools/napkin)
add_subdirectory(tools/keygen)
add_subdirectory(tools/licensegenerator)

# START_SOURCE_ARCHIVE_REMOVED_SECTION (don't remove)
# app targets, add your own app targets here!
add_subdirectory(apps/example)
# END_SOURCE_ARCHIVE_REMOVED_SECTION (don't remove)

# demo targets
add_subdirectory(demos/helloworld)
add_subdirectory(demos/rotatingtexcube)
add_subdirectory(demos/vinyl)
add_subdirectory(demos/multiwindow)
if(RPI_MODEL)
message(STATUS "Skipping target: heightmap, not supported on Raspberry Pi")
else()
add_subdirectory(demos/heightmap)
endif()
add_subdirectory(demos/dynamicgeo)
add_subdirectory(demos/computeparticles)
if(RPI_MODEL)
message(STATUS "Skipping target: computeflocking, not supported on Raspberry Pi")
else()
add_subdirectory(demos/computeflocking)
endif()
add_subdirectory(demos/videomodulation)
add_subdirectory(demos/blobtrace)
add_subdirectory(demos/audioanalysis)
add_subdirectory(demos/audioplayback)
add_subdirectory(demos/oscmidi)
add_subdirectory(demos/curveball)
add_subdirectory(demos/copystamp)
add_subdirectory(demos/websocketserver)
add_subdirectory(demos/sequencer)
add_subdirectory(demos/paintobject)
add_subdirectory(demos/licensecheck)
add_subdirectory(demos/artnetsend)
add_subdirectory(demos/artnetreceive)
add_subdirectory(demos/webportal)
add_subdirectory(demos/python)
add_subdirectory(demos/lightsandshadow)
add_subdirectory(demos/skybox)
add_subdirectory(demos/udpsend)
add_subdirectory(demos/udpreceive)
add_subdirectory(demos/linemorphing)
add_subdirectory(demos/spotlight)

if(APPLE)
set(GENERATE_XCODE_PROJECT_TARGET generateXcodeProject)
add_custom_target(generateXcodeProject ${CMAKE_COMMAND} -H. -B. -G Xcode -DCMAKE_BUILD_TYPE=Debug ../)
endif()
#add_dependencies(${PROJECT_NAME} ${GENERATE_XCODE_PROJECT_TARGET})

# Modules
add_subdirectory(core)
add_subdirectory(system_modules/napmath)
add_subdirectory(system_modules/napscene)
add_subdirectory(system_modules/napfont)
add_subdirectory(system_modules/napinput)
add_subdirectory(system_modules/napcolor)
add_subdirectory(system_modules/naprender)
add_subdirectory(system_modules/napmath)
add_subdirectory(system_modules/napsdlinput)
add_subdirectory(system_modules/napscene)
add_subdirectory(system_modules/napcameracontrol)
add_subdirectory(system_modules/nappython)
add_subdirectory(system_modules/napvideo)
add_subdirectory(system_modules/napaudio)
add_subdirectory(system_modules/napportaudio)
add_subdirectory(system_modules/napartnet)
add_subdirectory(system_modules/naposc)
add_subdirectory(system_modules/napsvg)
add_subdirectory(system_modules/napapp)
add_subdirectory(system_modules/napimgui)
add_subdirectory(system_modules/napmidi)
add_subdirectory(system_modules/napfont)
add_subdirectory(system_modules/napapi)
add_subdirectory(system_modules/napparameter)
add_subdirectory(system_modules/napparametergui)
add_subdirectory(system_modules/napserial)
add_subdirectory(system_modules/napwebsocket)
add_subdirectory(system_modules/napapiwebsocket)
add_subdirectory(system_modules/napcolor)
add_subdirectory(system_modules/napsequence)
add_subdirectory(system_modules/napsequencegui)
add_subdirectory(system_modules/napsequenceaudio)
add_subdirectory(system_modules/napsequenceaudiogui)
add_subdirectory(system_modules/naplicense)
add_subdirectory(system_modules/napcameracontrol)
add_subdirectory(system_modules/napaudio)
add_subdirectory(system_modules/napportaudio)
add_subdirectory(system_modules/napmidi)
add_subdirectory(system_modules/naposc)
add_subdirectory(system_modules/napudp)
add_subdirectory(system_modules/napcalendar)
add_subdirectory(system_modules/napasio)
add_subdirectory(system_modules/napportal)
add_subdirectory(system_modules/napopenssl)
add_subdirectory(system_modules/naprenderadvanced)
add_subdirectory(system_modules/napapi)

solution_info_to_cmake()
set(NAP_BUILD_CONTEXT source) # This is here just to guarantee backwards compatibility with 0.6 style NAP modules
add_subdirectory_modules(modules)
add_subdirectory_apps(apps)

# Add additional directories if specified from command line.
# For example: -DADDITIONAL_SUB_DIRECTORIES="apps/myapp;apps/myapp/module"
if(ADDITIONAL_SUB_DIRECTORIES)
foreach(SUB_DIR ${ADDITIONAL_SUB_DIRECTORIES})
message(STATUS "Adding sub directory: ${SUB_DIR}")
add_subdirectory(${SUB_DIR})
endforeach()
endif()
add_subdirectory(demos/helloworld)
add_subdirectory(demos/audioplayback)
add_subdirectory(demos/audioanalysis)
add_subdirectory(demos/oscmidi)
add_subdirectory(demos/udpsend)
add_subdirectory(demos/udpreceive)

add_subdirectory(tools/fbxconverter)
add_subdirectory(qt)
add_subdirectory(tools/napkin)

# Packaging
include(cmake/framework_release_packaging.cmake)
package_nap()
8 changes: 0 additions & 8 deletions apps/example/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,9 +1 @@
# DO NOT EDIT THIS FILE
# It is automatically generated and will be overwritten
# Extra app CMake logic belongs in app_extra.cmake
cmake_minimum_required(VERSION 3.18.4)
set(NAP_ROOT ${CMAKE_CURRENT_SOURCE_DIR}/../..)
include(${NAP_ROOT}/cmake/macros_and_functions.cmake)
get_filename_component(app_name_from_dir ${CMAKE_CURRENT_SOURCE_DIR} NAME)
project(${app_name_from_dir})
include(${NAP_ROOT}/cmake/nap_app.cmake)
1 change: 0 additions & 1 deletion apps/example/app_extra.cmake

This file was deleted.

5 changes: 0 additions & 5 deletions apps/example/build.bat

This file was deleted.

6 changes: 0 additions & 6 deletions apps/example/build.sh

This file was deleted.

8 changes: 0 additions & 8 deletions apps/example/macos/Info.plist

This file was deleted.

24 changes: 1 addition & 23 deletions apps/example/module/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,23 +1 @@
# DO NOT EDIT THIS FILE
# It is automatically generated and will be overwritten
# Extra module CMake logic belongs in module_extra.cmake
cmake_minimum_required(VERSION 3.18.4)

if(NOT DEFINED NAP_ROOT)
cmake_path(GET CMAKE_CURRENT_SOURCE_DIR STEM LAST_ONLY dir_name)
if(dir_name MATCHES "^module$")
set(path_from_module_to_root ../../..)
else()
set(path_from_module_to_root ../..)
endif()
set(NAP_ROOT ${CMAKE_CURRENT_SOURCE_DIR}/${path_from_module_to_root})
endif()
include(${NAP_ROOT}/cmake/macros_and_functions.cmake)

directory_name_to_module_name()
if(TARGET ${MODULE_NAME})
return()
endif()

project(${MODULE_NAME})
include(${NAP_ROOT}/cmake/nap_module.cmake)
include(${NAP_ROOT}/cmake/nap_module.cmake)
1 change: 0 additions & 1 deletion apps/example/module/module.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@
"RequiredModules": [
"naprender",
"napaudio",
"napvideo",
"napscene",
"napcameracontrol",
"napparameter"
Expand Down
5 changes: 0 additions & 5 deletions apps/example/regenerate.bat

This file was deleted.

6 changes: 0 additions & 6 deletions apps/example/regenerate.sh

This file was deleted.

5 changes: 0 additions & 5 deletions build.bat

This file was deleted.

5 changes: 0 additions & 5 deletions build.sh

This file was deleted.

2 changes: 0 additions & 2 deletions check_build_environment.bat

This file was deleted.

5 changes: 0 additions & 5 deletions check_build_environment.sh

This file was deleted.

20 changes: 20 additions & 0 deletions cmake/Info.plist.in
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleGetInfoString</key>
<string>${APP_TITLE}</string>
<key>CFBundleExecutable</key>
<string>${PROJECT_NAME}</string>
<key>CFBundleIdentifier</key>
<string>com.${PROJECT_NAME}.napframework.www</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleVersion</key>
<string>1.0</string>
<key>NSMicrophoneUsageDescription</key>
<string>${PROJECT_NAME} microphone use</string>
<key>NSHighResolutionCapable</key>
<string>True</string>
</dict>
</plist>
Loading