Merge 9ccbbff0d7
into ce6b7852b7
commit
13e52ec670
|
@ -1,3 +0,0 @@
|
|||
# Ignore content built with CMake
|
||||
build/
|
||||
|
11
.gitpod.yml
11
.gitpod.yml
|
@ -2,11 +2,8 @@ image:
|
|||
file: Dockerfile
|
||||
tasks:
|
||||
- command: >
|
||||
mkdir --parents build &&
|
||||
cd build &&
|
||||
cmake .. &&
|
||||
make &&
|
||||
./tinyraytracer &&
|
||||
cmake -Bbuild &&
|
||||
cmake --build build &&
|
||||
build/tinyraytracer &&
|
||||
pnmtopng out.ppm > out.png &&
|
||||
open out.png &&
|
||||
cd ..
|
||||
open out.png
|
||||
|
|
|
@ -1,20 +1,22 @@
|
|||
cmake_minimum_required (VERSION 2.8)
|
||||
project(tinyraytracer)
|
||||
cmake_minimum_required (VERSION 3.10...3.26)
|
||||
|
||||
get_property(is_multi_config GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG)
|
||||
if(NOT is_multi_config AND NOT (CMAKE_BUILD_TYPE OR DEFINED ENV{CMAKE_BUILD_TYPE}))
|
||||
set(CMAKE_BUILD_TYPE Release CACHE STRING "Release default")
|
||||
endif()
|
||||
|
||||
project(tinyraytracer LANGUAGES CXX)
|
||||
|
||||
set(CMAKE_CXX_STANDARD 17)
|
||||
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||
|
||||
find_package(OpenMP)
|
||||
if(OPENMP_FOUND)
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}")
|
||||
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${OpenMP_EXE_LINKER_FLAGS}")
|
||||
if(CMAKE_CXX_COMPILER_ID MATCHES "Clang|GNU|Intel")
|
||||
add_compile_options(-Wall)
|
||||
endif()
|
||||
|
||||
if(NOT CMAKE_BUILD_TYPE)
|
||||
set(CMAKE_BUILD_TYPE Release)
|
||||
endif()
|
||||
find_package(OpenMP COMPONENTS CXX)
|
||||
|
||||
file(GLOB SOURCES *.h *.cpp)
|
||||
add_executable(${PROJECT_NAME} ${SOURCES})
|
||||
add_executable(${PROJECT_NAME} tinyraytracer.cpp)
|
||||
target_link_libraries(${PROJECT_NAME} PRIVATE $<$<BOOL:${OpenMP_CXX_FOUND}>:OpenMP::OpenMP_CXX>)
|
||||
|
||||
file(GENERATE OUTPUT .gitignore CONTENT "*")
|
||||
|
|
|
@ -11,10 +11,8 @@ In my lectures I tend to avoid third party libraries as long as it is reasonable
|
|||
```sh
|
||||
git clone https://github.com/ssloy/tinyraytracer.git
|
||||
cd tinyraytracer
|
||||
mkdir build
|
||||
cd build
|
||||
cmake ..
|
||||
make
|
||||
cmake -B build
|
||||
cmake --build build
|
||||
```
|
||||
|
||||
You can open the project in Gitpod, a free online dev evironment for GitHub:
|
||||
|
|
Loading…
Reference in New Issue