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 #12

Merged
merged 33 commits into from
Oct 22, 2014
Merged

Build system #12

merged 33 commits into from
Oct 22, 2014

Conversation

karimnaaji
Copy link
Member

Build-system with the corresponding Android/iOS/OS X toolchains cmake files, mainly architecture changes with new CMake build files.

Architecture changes

  • CMake : The project now uses CMake, inside the build/ folder there are the toolchain and utilities cmake files. The first called and used CMake file is in the root /CMakeLists.txt and then runs the different platform-dependent cmake files, which then run the CMakeFiles of the dependent libraries if needed (like Core/GLFW/JSon/GLM). Added two toolchains file, one for android grabbed from here, and one for iOS grabbed from here; these files define all the pre-required variables in order to use CMake for the corresponding platform.
  • Core : is now used as a static library, and has its own CMakeLists.txt.
  • Json : is now used as a static library as a dependency of the Core static library.
  • GLFW : is now used a a git submodule.
  • Changed somehow the architecture of the project : iOS/OS X platforms has now an src/ folder where to put the sources, an include/ folder for dependency headers and a lib/ folder to put libraries if needed.
  • Removed old Makefile
  • Further improvements/work :
    • Use CMake to build the UnitTests
    • It could be a good idea to modify a bit the CMake toolchain for Core in order to be able to generate an executable for it; for test purposes.
    • Check which files are still needed inside the android/ folder considering the new toolchain for this platform
    • GLM : could also be used as a submodule from here
    • Curl : use the same headers/static fat library for both OS X and iOS

Source code changes

  • Fixed some missing inclusions
  • Fixed some compiler/standard library issues to fit for g++/clang++ at the same time
  • Curl : used headers from this project

…ered as a static library for further use in ios/android build process
…android folder, modified vboMesh to use non-constant iterators
@@ -0,0 +1,35 @@
# options
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -stdlib=libc++ -std=c++0x")
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey @karimnaaji, is there a reason for using c++0x and not c++11?

c++11 was formally named c++0x.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The only reason is I used to use this flag, we should definitely update it to c++11.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants