-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
9 changed files
with
236 additions
and
32 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -3,3 +3,8 @@ blackjack | |
*~ | ||
bj.txt | ||
.idea | ||
CMakeCache.txt | ||
CMakeFiles | ||
Makefile | ||
cmake_install.cmake | ||
blackjack.cbp |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
cmake_minimum_required(VERSION 3.10) | ||
|
||
project(blackjack) | ||
|
||
include_directories(include) | ||
include(FindPackageHandleStandardArgs) | ||
|
||
set(CMAKE_C_COMPILER clang) | ||
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/") | ||
|
||
find_package(SDL2 REQUIRED) | ||
find_package(SDL2_gfx REQUIRED) | ||
find_package(SDL2_ttf REQUIRED) | ||
|
||
include_directories(${SDL2_INCLUDE_DIRS} ${SDL2_GFX_INCLUDE_DIRS} ${SDL2_TTF_INCLUDE_DIRS}) | ||
|
||
file(GLOB sources src/*.c) | ||
add_executable(blackjack ${sources}) | ||
target_link_libraries(blackjack ${SDL2_LIBRARIES} ${SDL2_GFX_LIBRARIES} ${SDL2_TTF_LIBRARIES}) | ||
|
||
add_custom_command(TARGET blackjack | ||
POST_BUILD | ||
COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE:blackjack> .) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,16 +1,27 @@ | ||
# blackjack-c-sdl | ||
Blackjack written in C using SDL | ||
|
||
## Dependencies | ||
![Blackjack](https://raw.githubusercontent.com/gdonald/blackjack-c-sdl/master/img/ss.png) | ||
|
||
## Install | ||
|
||
### Linux | ||
|
||
For Debian: | ||
|
||
apt install cmake clang libsdl2-dev libsdl2-gfx-dev libsdl2-ttf-dev | ||
|
||
apt install clang libsdl2-dev libsdl2-gfx-dev libsdl2-ttf-dev | ||
### Mac OS | ||
|
||
Install Xcode to acquire `clang`. Next install Homebrew and do | ||
|
||
brew install cmake sdl2 sdl2_gfx sdl2_ttf | ||
|
||
## Build | ||
|
||
make | ||
cmake . | ||
make | ||
|
||
## Run | ||
|
||
./blackjack | ||
|
||
![Blackjack](https://raw.githubusercontent.com/gdonald/blackjack-c-sdl/master/img/ss.png) | ||
./blackjack |
Empty file.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,93 @@ | ||
# - Locate SDL2_gfx library | ||
# This module defines: | ||
# SDL2_GFX_LIBRARIES, the name of the library to link against | ||
# SDL2_GFX_INCLUDE_DIRS, where to find the headers | ||
# SDL2_GFX_FOUND, if false, do not try to link against | ||
# SDL2_GFX_VERSION_STRING - human-readable string containing the version of SDL2_gfx | ||
# | ||
# For backward compatiblity the following variables are also set: | ||
# SDL2GFX_LIBRARY (same value as SDL2_GFX_LIBRARIES) | ||
# SDL2GFX_INCLUDE_DIR (same value as SDL2_GFX_INCLUDE_DIRS) | ||
# SDL2GFX_FOUND (same value as SDL2_GFX_FOUND) | ||
# | ||
# $SDL2DIR is an environment variable that would | ||
# correspond to the ./configure --prefix=$SDL2DIR | ||
# used in building SDL2. | ||
# | ||
# Created by Eric Wing. This was influenced by the FindSDL2.cmake | ||
# module, but with modifications to recognize OS X frameworks and | ||
# additional Unix paths (FreeBSD, etc). | ||
|
||
#============================================================================= | ||
# Copyright 2005-2009 Kitware, Inc. | ||
# Copyright 2012 Benjamin Eikel | ||
# | ||
# Distributed under the OSI-approved BSD License (the "License"); | ||
# see accompanying file Copyright.txt for details. | ||
# | ||
# This software is distributed WITHOUT ANY WARRANTY; without even the | ||
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | ||
# See the License for more information. | ||
#============================================================================= | ||
# (To distribute this file outside of CMake, substitute the full | ||
# License text for the above reference.) | ||
|
||
if(NOT SDL2_GFX_INCLUDE_DIR AND SDL2GFX_INCLUDE_DIR) | ||
set(SDL2_GFX_INCLUDE_DIR ${SDL2GFX_INCLUDE_DIR} CACHE PATH "directory cache | ||
entry initialized from old variable name") | ||
endif() | ||
find_path(SDL2_GFX_INCLUDE_DIR SDL2_gfxPrimitives.h | ||
HINTS | ||
ENV SDL2GFXDIR | ||
ENV SDL2DIR | ||
PATH_SUFFIXES include/SDL2 include | ||
PATHS | ||
${CMAKE_SOURCE_DIR}/deps | ||
) | ||
|
||
if(NOT SDL2_GFX_LIBRARY AND SDL2GFX_LIBRARY) | ||
set(SDL2_GFX_LIBRARY ${SDL2GFX_LIBRARY} CACHE FILEPATH "file cache entry | ||
initialized from old variable name") | ||
endif() | ||
find_library(SDL2_GFX_LIBRARY | ||
NAMES SDL2_gfx | ||
HINTS | ||
ENV SDL2GFXDIR | ||
ENV SDL2DIR | ||
PATH_SUFFIXES lib | ||
PATHS | ||
${CMAKE_SOURCE_DIR}/deps | ||
) | ||
|
||
if(SDL2_GFX_INCLUDE_DIR AND EXISTS "${SDL2_GFX_INCLUDE_DIR}/SDL2_gfxPrimitives.h") | ||
file(STRINGS "${SDL2_GFX_INCLUDE_DIR}/SDL2_gfxPrimitives.h" SDL2_GFX_VERSION_MAJOR_LINE REGEX "^#define[ \t]+SDL2_GFXPRIMITIVES_MAJOR[ \t]+[0-9]+$") | ||
file(STRINGS "${SDL2_GFX_INCLUDE_DIR}/SDL2_gfxPrimitives.h" SDL2_GFX_VERSION_MINOR_LINE REGEX "^#define[ \t]+SDL2_GFXPRIMITIVES_MINOR[ \t]+[0-9]+$") | ||
file(STRINGS "${SDL2_GFX_INCLUDE_DIR}/SDL2_gfxPrimitives.h" SDL2_GFX_VERSION_PATCH_LINE REGEX "^#define[ \t]+SDL2_GFXPRIMITIVES_MICRO[ \t]+[0-9]+$") | ||
string(REGEX REPLACE "^#define[ \t]+SDL2_GFXPRIMITIVES_MAJOR[ \t]+([0-9]+)$" "\\1" SDL2_GFX_VERSION_MAJOR "${SDL2_GFX_VERSION_MAJOR_LINE}") | ||
string(REGEX REPLACE "^#define[ \t]+SDL2_GFXPRIMITIVES_MINOR[ \t]+([0-9]+)$" "\\1" SDL2_GFX_VERSION_MINOR "${SDL2_GFX_VERSION_MINOR_LINE}") | ||
string(REGEX REPLACE "^#define[ \t]+SDL2_GFXPRIMITIVES_MICRO[ \t]+([0-9]+)$" "\\1" SDL2_GFX_VERSION_PATCH "${SDL2_GFX_VERSION_PATCH_LINE}") | ||
set(SDL2_GFX_VERSION_STRING ${SDL2_GFX_VERSION_MAJOR}.${SDL2_GFX_VERSION_MINOR}.${SDL2_GFX_VERSION_PATCH}) | ||
unset(SDL2_GFX_VERSION_MAJOR_LINE) | ||
unset(SDL2_GFX_VERSION_MINOR_LINE) | ||
unset(SDL2_GFX_VERSION_PATCH_LINE) | ||
unset(SDL2_GFX_VERSION_MAJOR) | ||
unset(SDL2_GFX_VERSION_MINOR) | ||
unset(SDL2_GFX_VERSION_PATCH) | ||
endif() | ||
|
||
set(SDL2_GFX_LIBRARIES ${SDL2_GFX_LIBRARY}) | ||
set(SDL2_GFX_INCLUDE_DIRS ${SDL2_GFX_INCLUDE_DIR}) | ||
|
||
# for backward compatiblity | ||
set(SDL2GFX_LIBRARY ${SDL2_GFX_LIBRARIES}) | ||
set(SDL2GFX_INCLUDE_DIR ${SDL2_GFX_INCLUDE_DIRS}) | ||
set(SDL2GFX_FOUND ${SDL2_GFX_FOUND}) | ||
|
||
FIND_PACKAGE_HANDLE_STANDARD_ARGS(SDL2_gfx | ||
REQUIRED_VARS SDL2_GFX_LIBRARIES SDL2_GFX_INCLUDE_DIRS | ||
VERSION_VAR SDL2_GFX_VERSION_STRING) | ||
|
||
|
||
|
||
mark_as_advanced(SDL2_GFX_LIBRARY SDL2_GFX_INCLUDE_DIR) | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,93 @@ | ||
# - Locate SDL2_ttf library | ||
# This module defines: | ||
# SDL2_TTF_LIBRARIES, the name of the library to link against | ||
# SDL2_TTF_INCLUDE_DIRS, where to find the headers | ||
# SDL2_TTF_FOUND, if false, do not try to link against | ||
# SDL2_TTF_VERSION_STRING - human-readable string containing the version of SDL2_ttf | ||
# | ||
# For backward compatiblity the following variables are also set: | ||
# SDL2TTF_LIBRARY (same value as SDL2_TTF_LIBRARIES) | ||
# SDL2TTF_INCLUDE_DIR (same value as SDL2_TTF_INCLUDE_DIRS) | ||
# SDL2TTF_FOUND (same value as SDL2_TTF_FOUND) | ||
# | ||
# $SDL2DIR is an environment variable that would | ||
# correspond to the ./configure --prefix=$SDL2DIR | ||
# used in building SDL2. | ||
# | ||
# Created by Eric Wing. This was influenced by the FindSDL2.cmake | ||
# module, but with modifications to recognize OS X frameworks and | ||
# additional Unix paths (FreeBSD, etc). | ||
|
||
#============================================================================= | ||
# Copyright 2005-2009 Kitware, Inc. | ||
# Copyright 2012 Benjamin Eikel | ||
# | ||
# Distributed under the OSI-approved BSD License (the "License"); | ||
# see accompanying file Copyright.txt for details. | ||
# | ||
# This software is distributed WITHOUT ANY WARRANTY; without even the | ||
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | ||
# See the License for more information. | ||
#============================================================================= | ||
# (To distribute this file outside of CMake, substitute the full | ||
# License text for the above reference.) | ||
|
||
if(NOT SDL2_TTF_INCLUDE_DIR AND SDL2TTF_INCLUDE_DIR) | ||
set(SDL2_TTF_INCLUDE_DIR ${SDL2TTF_INCLUDE_DIR} CACHE PATH "directory cache | ||
entry initialized from old variable name") | ||
endif() | ||
find_path(SDL2_TTF_INCLUDE_DIR SDL_ttf.h | ||
HINTS | ||
ENV SDL2TTFDIR | ||
ENV SDL2DIR | ||
PATH_SUFFIXES include/SDL2 include | ||
PATHS | ||
${CMAKE_SOURCE_DIR}/deps | ||
) | ||
|
||
if(NOT SDL2_TTF_LIBRARY AND SDL2TTF_LIBRARY) | ||
set(SDL2_TTF_LIBRARY ${SDL2TTF_LIBRARY} CACHE FILEPATH "file cache entry | ||
initialized from old variable name") | ||
endif() | ||
find_library(SDL2_TTF_LIBRARY | ||
NAMES SDL2_ttf | ||
HINTS | ||
ENV SDL2TTFDIR | ||
ENV SDL2DIR | ||
PATH_SUFFIXES lib | ||
PATHS | ||
${CMAKE_SOURCE_DIR}/deps | ||
) | ||
|
||
if(SDL2_TTF_INCLUDE_DIR AND EXISTS "${SDL2_TTF_INCLUDE_DIR}/SDL2_ttf.h") | ||
file(STRINGS "${SDL2_TTF_INCLUDE_DIR}/SDL2_ttf.h" SDL2_TTF_VERSION_MAJOR_LINE REGEX "^#define[ \t]+SDL2_TTF_MAJOR_VERSION[ \t]+[0-9]+$") | ||
file(STRINGS "${SDL2_TTF_INCLUDE_DIR}/SDL2_ttf.h" SDL2_TTF_VERSION_MINOR_LINE REGEX "^#define[ \t]+SDL2_TTF_MINOR_VERSION[ \t]+[0-9]+$") | ||
file(STRINGS "${SDL2_TTF_INCLUDE_DIR}/SDL2_ttf.h" SDL2_TTF_VERSION_PATCH_LINE REGEX "^#define[ \t]+SDL2_TTF_PATCHLEVEL[ \t]+[0-9]+$") | ||
string(REGEX REPLACE "^#define[ \t]+SDL2_TTF_MAJOR_VERSION[ \t]+([0-9]+)$" "\\1" SDL2_TTF_VERSION_MAJOR "${SDL2_TTF_VERSION_MAJOR_LINE}") | ||
string(REGEX REPLACE "^#define[ \t]+SDL2_TTF_MINOR_VERSION[ \t]+([0-9]+)$" "\\1" SDL2_TTF_VERSION_MINOR "${SDL2_TTF_VERSION_MINOR_LINE}") | ||
string(REGEX REPLACE "^#define[ \t]+SDL2_TTF_PATCHLEVEL[ \t]+([0-9]+)$" "\\1" SDL2_TTF_VERSION_PATCH "${SDL2_TTF_VERSION_PATCH_LINE}") | ||
set(SDL2_TTF_VERSION_STRING ${SDL2_TTF_VERSION_MAJOR}.${SDL2_TTF_VERSION_MINOR}.${SDL2_TTF_VERSION_PATCH}) | ||
unset(SDL2_TTF_VERSION_MAJOR_LINE) | ||
unset(SDL2_TTF_VERSION_MINOR_LINE) | ||
unset(SDL2_TTF_VERSION_PATCH_LINE) | ||
unset(SDL2_TTF_VERSION_MAJOR) | ||
unset(SDL2_TTF_VERSION_MINOR) | ||
unset(SDL2_TTF_VERSION_PATCH) | ||
endif() | ||
|
||
set(SDL2_TTF_LIBRARIES ${SDL2_TTF_LIBRARY}) | ||
set(SDL2_TTF_INCLUDE_DIRS ${SDL2_TTF_INCLUDE_DIR}) | ||
|
||
# for backward compatiblity | ||
set(SDL2TTF_LIBRARY ${SDL2_TTF_LIBRARIES}) | ||
set(SDL2TTF_INCLUDE_DIR ${SDL2_TTF_INCLUDE_DIRS}) | ||
set(SDL2TTF_FOUND ${SDL2_TTF_FOUND}) | ||
|
||
FIND_PACKAGE_HANDLE_STANDARD_ARGS(SDL2_ttf | ||
REQUIRED_VARS SDL2_TTF_LIBRARIES SDL2_TTF_INCLUDE_DIRS | ||
VERSION_VAR SDL2_TTF_VERSION_STRING) | ||
|
||
|
||
|
||
mark_as_advanced(SDL2_TTF_LIBRARY SDL2_TTF_INCLUDE_DIR) | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters